4

ItemSource として ComboBox にバインドされている ObservableCollection があります。これは、行った変更を表示する ComboBox です。私の問題は、最新の変更がリストの一番下に表示されることです。プロパティで逆にしようとしましたが、戻るComboboxName.Reverse()IEnumerableが返されます。また、逆のデータで 2 番目のコレクションを作成したくありません。

別の方法は、XAML でこれを解決することです。どうすればそれができるか考えている人はいますか?

ここでこの回答を見つけましたが、どのように実装できるかわかりません。 ObservableCollection の逆順

4

1 に答える 1

6

scmはの略です

xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"

私のために働く解決策があります。ケースに合わせて調整する必要があります。

<Window.Resources>
<CollectionViewSource x:Key="customerGroups" Source="{Binding Path=Customers}">
        <CollectionViewSource.GroupDescriptions>
            <PropertyGroupDescription PropertyName="IsCompany"></PropertyGroupDescription>
        </CollectionViewSource.GroupDescriptions>
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="IsCompany" Direction="Descending"/>
            <scm:SortDescription PropertyName="DisplayName" Direction="Ascending"/>
        </CollectionViewSource.SortDescriptions>
    </CollectionViewSource>
</Window.Resources>

次に、このリソースを ComboBox の ItemsSource として参照し、コンテンツを必要なプロパティにバインドします。

 <ComboBox ItemsSource="{Binding Source={StaticResource customerGroups}}">
        <DataTemplate>
            <TextBlock Text="{Binding Path= FirstName}"></TextBlock>
        </DataTemplate>
    </ComboBox>
于 2013-02-01T09:52:57.473 に答える