0

新しいレコードを追加した後、編集可能なコンボボックスを純粋なWPFで並べ替えたいと思います。いくつかの調査の結果、を使用したヒントをいくつか見つけましたが、CollectionViewSource.SortDescription正しく機能しません。私は何が間違っているのですか?私を使用したアイテムのDataContextはDataTemplate正常に機能しますが、エントリリストを並べ替えるためのとリソース部分の間のバインドはDataTemplate機能しません。


私の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.LabelsはタイプObservableCollection<String>です。

4

1 に答える 1

0

並べ替えようとしているコレクションが何であるかを示していないため、わかりにくいですが、Parent.Labelsの各オブジェクトにはItemsプロパティがないのではないかと思います。PropertyNameは、リスト内の個々のオブジェクトのプロパティを参照し、それを調べて並べ替えようとします。「名前」やその他のプロパティに沿ったものが必要だと思います。

于 2012-10-26T13:34:40.833 に答える