0
我正在對TabControl內顯示的UserControl內的數據網格進行排序。在TabControl上選擇新選項卡後,CollectionViewSource不能排序
主窗口包含TabControl,如下所示。
<Grid>
<TabControl x:Name="EquipTabs" ItemsSource="{Binding Equipment}" >
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ctrls:MachData DataContext="{Binding Path=MachineViewModel}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</Grid>
當第一個選項卡被激活時,用戶控件正確地對datagrid進行排序。但是,當我點擊不同的選項卡或切換回原來的,datagrid不排序。
<UserControl.Resources>
<CollectionViewSource x:Key="StatesSource" Source="{Binding States}" >
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="StartTime" Direction="Descending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
<Grid>
<DataGrid x:Name="dgStates" Grid.Row="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
ItemsSource="{Binding Source={StaticResource StatesSource}}">
</DataGrid>
</Grid>
的結合顯示下列跟蹤:
Deactivate
Replace item at level 0 with {NullDataItem}
Activate with root item MachDataViewModel (hash=25379957)
At level 0 using cached accessor for MachDataViewModel.States: RuntimePropertyInfo(States)
爲什麼那種最初只發生?
感謝您的任何幫助。