Want to add pane to PaneCollectionFloat on command/event. This works only if PaneCollectionFloat collection is not empty on start og application. Can you suggest any solution for this problem ?
<telerik:RadDocking Grid.Row="1">
<telerik:RadSplitContainer InitialPosition="DockedLeft">
<telerik:RadPaneGroup x:Name="group"
local:PaneGroupExtensions.ItemsSource="{Binding PaneCollectionLeft}"
local:PaneGroupExtensions.ItemTitleDisplayMemberPath="Header">
<local:PaneGroupExtensions.ItemContentTemplate>
<DataTemplate>
<Button Content="{Binding Content.SomeContent}" />
</DataTemplate>
</local:PaneGroupExtensions.ItemContentTemplate>
<local:PaneGroupExtensions.ItemHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}" />
</DataTemplate>
</local:PaneGroupExtensions.ItemHeaderTemplate>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
<telerik:RadSplitContainer InitialPosition="FloatingDockable">
<telerik:RadPaneGroup
local:PaneGroupExtensions.ItemsSource="{Binding PaneCollectionFloat}"
local:PaneGroupExtensions.ItemTitleDisplayMemberPath="Header">
<local:PaneGroupExtensions.ItemContentTemplate>
<DataTemplate>
<Button Content="{Binding Content.SomeContent}" />
</DataTemplate>
</local:PaneGroupExtensions.ItemContentTemplate>
<local:PaneGroupExtensions.ItemHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Header}" />
</DataTemplate>
</local:PaneGroupExtensions.ItemHeaderTemplate>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
</telerik:RadDocking>
23 Answers, 1 is accepted
We took some time to work around the problem, but to no avail. We can confirm that currently this is a limitation of the RadDocking control and what I would suggest is having a pane in the toolwindow. The problem is that when an empty group is placed in a toolwindow, the toolwindow is closed and the panegroup is not in the visual tree anymore. You can insert items in this group as well without any errors, but the group won't be displayed (because the toolwindow won't be opened). This is the reason why everything works fine when the panegroup is not empty - it is in the visual tree.
George
the Telerik team
Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>
Original DockingAndMVVM.zip has memory leak.
repro :
1. 'Insert' button 10 click -> Make 10 RadPane
2. 10 Radpane make floating -> Make 10 ToolWindow
3. 'Regenerate' button click - Remove 10 RadPane
1~3 loop => memory leark. .. leark...
Thank you.
I modify source.
Please, I need your comment for more clear.
Thank you.
# howto modify
1. OnLoaded() in Telerik.Windows.Controls.Docking.AutoHideArea class
// Application.Current.Deactivated += (s, a) => OnApplicationDeactivated(reference);
2. ResizeControl() in Telerik.Windows.Controls.ResizeControl class
#if !WPF35
//var touchableElement = new TouchableResizeControl(new WeakReference(this), validator);
//TouchManager.RegisterTouchableElement(touchableElement);
#endif
Please, note that this example is old and we have already build-in functionality in RadDocking control which helps implementing MVVM scenarios:
- online documentation - http://www.telerik.com/help/wpf/raddocking-features-panes-panesource.html
- runnable example - https://github.com/telerik/xaml-sdk , the example is listed as Docking/CustomDockingPanesFactory.
We do recommend using PanesSource property. Hope this helps.
Regards,
George
Telerik
We are not aware of such problems with RadDocking control. Please, refer to the attached video and example and let me know if I missed anything. I am glad to assist you further.
Regards,
George
Telerik
DevCraft Q1'14 is here! Join the free online conference to see how this release solves your top-5 .NET challenges. Reserve your seat now!
But, I'm think more looping testing.
Anyway, I make very simple raddocking application( http://user.chol.com/~nettalk/t.zip )
also make video file ( ANTS memroy profiler check that application ) avi file (http://user.chol.com/~nettalk/m.zip)
finally, I modify source to resove memory leak. (ResolvedForMe.jpg)
Thank you...
But, I'm think more looping testing.
Anyway, I make video for MemoryLeak (use ANTS memroy profiler)
URL <= Current WebSite check my content as spam
----
http
user.chol.com
~nettalk
m.zip
----
finally, I modify source to resove memory leak. (ResolvedForMe.jpg)
Thank you
We took some time to test the sample project and we can confirm that the AutoHideArea parts are leak, not the RadDocking control itself. Anyway, we logged the problem in our backlog system and we will fix it for one of our upcoming releases. You can track its progress here - http://feedback.telerik.com/Project/143/Feedback/Details/122606-memory-leak-in-autohidearea-parts.
Your telerik points are updated as well. Hope this helps.
Regards,
George
Telerik
DevCraft Q1'14 is here! Watch the online conference to see how this release solves your top-5 .NET challenges. Watch on demand now.
Thank you to confirm AutoHideArea fix.
And. My simple raddocking application (resolved AutoHideArea leak) has other memory leak in ResizeControl+ThouchableResizeControl .
check attach file(1,2,3.jpg)
We confirm that the ResizeControl+ThouchableResizeControl memory leaks are resolved as well. The fix for AutoHideArea, ResizeControl and TouchableResizeControl leaks will be included in the following internal build next week.
Hope this helps.
Regards,
George
Telerik
DevCraft Q1'14 is here! Watch the online conference to see how this release solves your top-5 .NET challenges. Watch on demand now.
I am back.
I check new wpf telerik controls(memory leak resolved - ResizeControl+ThouchableResizeControl )
Recently, I have another memory leak in MVVM Sample(http://www.telerik.com/clientsfiles/242725_DockingAndMVVM.zip?sfvrsn=0 )
Step1) TabItem (Pane.0.1, Pane.0.2) change Tabbed Document
Step2) Tabbed Document change Floatting Window through ContextMenu
Step3) Flatting Window chang Tabbed Docuemnt through ContextMenu
Step4) Step2 ~ Step 3 Loop ....
Regards,
The provided example is an old one and not supported anymore. With our Q3 2013 SP release we introduced a new feature for RadDocking control - PanesSource property which helps binding to observable collection. You can find more information here:
- online documentation - http://www.telerik.com/help/wpf/raddocking-features-panes-panesource.html
- our blog post and example - http://blogs.telerik.com/blogs/13-12-09/building-ide-with-raddocking-for-wpf-silverlight
Hope this helps.
Regards,
George
Telerik
Very Simple application
<Window x:Class="TelerikWpfAppLeak.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow" Height="350" Width="525">
<Grid>
<telerik:RadDocking PanesSource="{Binding Panes}">
<telerik:RadDocking.DockingPanesFactory>
<telerik:DockingPanesFactory/>
</telerik:RadDocking.DockingPanesFactory>
</telerik:RadDocking>
</Grid>
</Window>
​/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ViewModel();
}
}
public class ViewModel : INotifyPropertyChanged
{
private ObservableCollection<RadPane> panes;
public ViewModel()
{
this.Panes = new ObservableCollection<RadPane>()
{
new RadPane() { Header = "Pane 1" },
};
}
public ObservableCollection<RadPane> Panes
{
get
{
return this.panes;
}
set
{
if (this.panes != value)
{
this.panes = value;
this.OnPropertyChanged("Panes");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
RadPane("Plan1)" status: Floating <-> TabbedDoucment
1.jpg: 2 Loop
2.jpg: 7 Loop
3.jpg: 12 Looping
Is Memory Leaking?
We can confirm that this is a memory issue in this scenario and I logged the bug here where you can track its progress. Please, note that if the pane is dragged and dropped, the memory issue doesn't appear. You could disable the context menu until the problem is resolved:
new
RadPane() { Header =
"Pane 1"
, ContextMenuTemplate =
null
},
I am glad to update your telerik points as well.
Regards,
George
Telerik
Memeory leak is resolved in RadPane with ContextMenuTemplate. Thank you.
But RadPane has RadGridView is cause memory leak
Step1) "TTTT title" mouse drag make toolwindow.
Step2) Tool window make rollback.
Step3) 1~2 Looping...
​<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow" Height="350" Width="525">
<telerik:RadDocking>
<telerik:RadSplitContainer >
<telerik:RadPaneGroup >
<telerik:RadPane Title="TTTT">
<telerik:RadGridView />
</telerik:RadPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
</telerik:RadDocking>
</Window>
Can you share more information about what is leaking? If you provide us with a screenshot or a report will be very helpful to find the leak you mentioned.
Regards,
George
Telerik
The GridView problem with TouchableElements was resolved a while ago, and we were not able to reproduce it on our side. Would it be possible to open a support ticket with a small sample where we can observe the problem? This will greatly help in our efforts to pin point the exact cause of the issue and provide a solution.
Thank you in advance.
Regards,
Nik
Telerik
Step1) I create 'TelerikWpfAppGridLeak' WPF application By Wizard . (makeapp.jpg )
Step2) Modify MainWindow.xaml
<Window x:Class="TelerikWpfAppGridLeak.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
Title="MainWindow" Height="350" Width="525">
<telerik:RadDocking>
<telerik:RadSplitContainer >
<telerik:RadPaneGroup >
<telerik:RadPane Title="TTTT">
<telerik:RadGridView />
</telerik:RadPane>
</telerik:RadPaneGroup>
</telerik:RadSplitContainer>
</telerik:RadDocking>
</Window>
Step3) Run Application (initstatus.jpg)
Step4) 'TT' RadPane make toolwindow (MakeToolWindowByMouseDrag.jpg)
Step5) Rollback (rollbacking.jpg)
Step6) 3~5 looping...
Memroy Leak Capture - (1, 2, 3.jpg)
We were able to reproduce the problem and have logged it in our system. You can track the progess of the item in our feedback portal.
Regards,
Nik
Telerik