我有,我已經結合objec列表的TabControl的一個窗口,我會叫MyItem:如何僅在XAML的DataTemplate中對列表視圖進行排序?
<TabControl Name="MyTabPNL" Background="Gainsboro"
ItemsSource="{Binding MyItemList, ElementName=WatcherWindow}"
ContentTemplate="{StaticResource tabItemTemplate}">
</TabControl>
這MyItem類有一個ObservableCollection,我要綁定到ListView,我我正在用DataTemplate做這件事。 目標:我想在XAML中自動排序這個ObservableCollection。通常我會用一個CollectionViewSource,但我不能找到一種方法,這個...我已經試過類似的東西:
<DataTemplate x:Key="tabItemTemplate">
<DataTemplate.Resources>
<CollectionViewSource x:Key='dayList' Source="{Binding MyDayList}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="MyDate" Direction="Descending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</DataTemplate.Resources>
<Grid >
<ListView ItemsSource="{Binding Source={StaticResource dayList}}" >
<ListView.View>
<GridView x:Name="gridvwDay" >
<GridViewColumn Header="MyDate"
CellTemplate="{StaticResource myCellTemplatePNLDate}"
HeaderContainerStyle="{StaticResource CustomHeaderStyleNeutral}"
Width="70" />
</GridView>
</ListView.View>
</ListView>
</Grid>
但每次我已經得到了同樣的錯誤:
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=MyDayList; DataItem=null; target element is 'CollectionViewSource' (HashCode=58368655); target property is 'Source' (type 'Object')
我找不到在ListView ItemsSource中的dayList和CollectionRessource中的dayList之間建立鏈接的方法。 你們有想法嗎?
僅供參考:由於我使用的類的性質,預排序ObservableCollection不可行。