1

htmlの<optgroup>動作のような見出しの下にグループ化されたオプションを含むドロップダウンリストボックスを表示するwpfコンボボックスが必要です。誰かが以前にこのようなことをしたように見えますか?

4

1 に答える 1

4

方法:XAMLのビューを使用してデータを並べ替えてグループ化するを参照してください。データのCollectionViewにグループ化を適用してから、ComboBoxでGroupStyleを設定します。完全にXAMLを実行すると、次のようになります。

<StackPanel>
    <StackPanel.Resources>
        <CollectionViewSource x:Key="groupedData" Source="{Binding}">
            <CollectionViewSource.GroupDescriptions>
                <PropertyGroupDescription PropertyName="Length"/>
            </CollectionViewSource.GroupDescriptions>
        </CollectionViewSource>
    </StackPanel.Resources>
    <ComboBox ItemsSource="{Binding Source={StaticResource groupedData}}">
        <ItemsControl.GroupStyle>
            <x:Static Member="GroupStyle.Default"/>
        </ItemsControl.GroupStyle>
    </ComboBox>
</StackPanel>

または、コードでグループ化を適用できます。

this.DataContext = new List<string>() { "foo", "barr", "baz", "fizz" };
var cv = CollectionViewSource.GetDefaultView(this.DataContext);
cv.GroupDescriptions.Add(new PropertyGroupDescription("Length"));

そして、Xamlのデフォルトのコレクションビューを使用します。

<ComboBox ItemsSource="{Binding}">
    <ItemsControl.GroupStyle>
        <x:Static Member="GroupStyle.Default"/>
    </ItemsControl.GroupStyle>
</ComboBox>

独自のHeaderTemplateを使用し てカスタムGroupStyleを提供することにより、グループ化されたデータの外観をカスタマイズできます。

于 2010-08-23T12:59:58.687 に答える