2012-10-26 90 views
0

我想排序在純WPF可編輯ComboBox,增加了一個新的紀錄之後。經過一番研究,我發現了一些小技巧,它使用了CollectionViewSource.SortDescription,但它不爲我正常工作。我究竟做錯了什麼?這用我的作品DataTemplate細項的DataContext的,但DataTemplate和資源部件之間的結合進行排序我的參賽名單沒有。排序可編輯ComboBox在XAML


我的XAML部分

<DataTemplate x:Key="Document"> 
    <DataTemplate.Resources> 
     <CollectionViewSource x:Key="SortedLabels" Source="{Binding Parent.Labels}"> 
      <CollectionViewSource.SortDescriptions> 
       <scm:SortDescription PropertyName="Items"/> 
      </CollectionViewSource.SortDescriptions> 
     </CollectionViewSource> 
    </DataTemplate.Resources> 

    <Grid> 
    ... 
     <ComboBox Name="cbLabel" 
        ItemsSource="{Binding Source={StaticResource SortedLabels}}" 
        IsEditable="True" 
        LostFocus="cbLabel_LostFocus" 
        KeyUp="cbLabel_KeyUp" 
        Visibility="{Binding Path=IsUndiscovered, Converter={StaticResource ResourceKey=BooleanToVisibilityConverter}}"/> 
    ... 
    </Grid> 
</DataTemplate> 

編輯 收集Parent.LabelsObservableCollection<String>型。

回答

0

很難說,因爲你並沒有表現出集合是什麼你想進行排序,但我的猜測是,在Parent.Labels每個對象不具有項目屬性。 PropertyName引用列表中單個對象的屬性,它將查看並嘗試排序。我猜你想要更多沿着「名稱」或其他一些屬性的東西。

+0

這是一個'的ObservableCollection '。對不起,我忘記了這些信息。我已經添加了它。 – Pyth0n