Hello,
I have a RadGridView on a user control, which is switched in/out via a ContentControl. The view model behind the grid is a singleton instance, and will be reused.
When the Content property of the ContentControl is changed, a new view is created as it should, however the grid nulls out the SelectedItem property, which then changes the view model underneath when this view/view model goes out of scope. Why does this occur?
I would like to be able to switch this view back in and display the selected item when the user comes back to it, which should be possible, but the grid changes the view model when unbinding.
I have a RadGridView on a user control, which is switched in/out via a ContentControl. The view model behind the grid is a singleton instance, and will be reused.
When the Content property of the ContentControl is changed, a new view is created as it should, however the grid nulls out the SelectedItem property, which then changes the view model underneath when this view/view model goes out of scope. Why does this occur?
I would like to be able to switch this view back in and display the selected item when the user comes back to it, which should be possible, but the grid changes the view model when unbinding.
<UserControl x:Class="InventoryView" xmlns:tools="ViewModels.Tools;assembly=ViewModels" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:conv="clr-namespace:Views.Converters" xmlns:views="clr-namespace:Views" mc:Ignorable="d" d:DesignHeight="700" d:DesignWidth="1000"> <Grid d:DataContext="{d:DesignInstance Type=tools:InventoryViewModel, IsDesignTimeCreatable=True}"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="5"/> <ColumnDefinition Width="2*" /> </Grid.ColumnDefinitions> <TabControl Grid.Column="0"> <TabControl.Items> <TabItem Header="Networks"> <!--<DataGrid ItemsSource="{Binding Networks}" SelectedItem="{Binding SelectedNetwork}"></DataGrid>--> <telerik:RadGridView ItemsSource="{Binding Networks}" AutoGenerateColumns="False" AlternationCount="1" GridLinesVisibility="None" CanUserDeleteRows="False" CanUserInsertRows="False" RowIndicatorVisibility="Collapsed" SelectedItem="{Binding SelectedNetwork}"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Name" UniqueName="Name" Width="100" DataMemberBinding="{Binding Name}"/> <telerik:GridViewDataColumn Header="Type" UniqueName="Type" Width="100" DataMemberBinding="{Binding IsPhysical, Converter={StaticResource NetworkTypeConverter} }"/> <telerik:GridViewDataColumn Header="Owner" UniqueName="Owner" Width="100" DataMemberBinding="{Binding ContactName}"/> </telerik:RadGridView.Columns> </telerik:RadGridView> </TabItem> </Grid></UserControl><!-- placeholder for main content area view --><ContentControl Grid.Row="1" Content="{Binding SelectedToolViewModel}" ContentTemplateSelector="{Binding Source={StaticResource SelectedToolTemplateSelector}}" />