2010-09-10 69 views
3

我有,我已經結合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不可行。

回答

相關問題