、自身がViewModelに上の動物コレクションに結合することがCollectionViewSourceにアイテムのソースを設定します。 - 例から撮影この
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock FontWeight="Bold" FontSize="15"
Text="{Binding Path=Name}"/>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ItemsControl.GroupStyle>
のようなものを
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Continent" />
</CollectionViewSource.GroupDescriptions>
ます。また、どんなアイテムにグループのスタイルを設定する必要がありますあなたが持っているコントロール:CollectionViewSourceは、このような何かを、グループ化することができますこのページの - http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.groupstyle.aspx
これはHeaderTemplateを設定していますが、ちょっと遊んだら、各グループにコンテナスタイルを設定できるはずです。
希望すると便利です。
更新: 私はこのことについてあまりよく分からなかったので、私はコードに急いでいました。 「トグルボタンは」「ラジオボタン」であると仮定すると、これは私が作ってみたものです:
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<GroupBox Margin="10" Header="{Binding Name}">
<GroupBox.Content>
<ItemsPresenter />
</GroupBox.Content>
</GroupBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
:また
<Grid>
<Grid.Resources>
<CollectionViewSource x:Key="Animals" Source="{Binding}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Continent" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Grid.Resources>
<ItemsControl ItemsSource="{Binding Source={StaticResource Animals}}">
<ItemsControl.GroupStyle>
<x:Static Member="GroupStyle.Default" />
</ItemsControl.GroupStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<RadioButton Content="{Binding Name}" GroupName="{Binding Continent}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
、あなたがライン<x:Static Member="GroupStyle.Default" />
を置き換えることにより、GroupBoxのよう各グループを表示することができます
しかし、ラジオボタンは単独では相互に排他的ではありません(ListItemコントロールでラップされているか、グループ化の親の1つの子になるためです)。このコードはMSDNのGroupStyleエントリから盗まれたり変更されたりして、詳細情報を表示したい(グループの表示/非表示のエクスパンダがある例):http://msdn.microsoft.com/en-us/library/system.windows.controls.groupstyle.aspx
ポイントを一度も逃したかどうか教えてください。
ありがとうございます! – James
問題はありません、私はそれが助けて欲しい! –
偉大な答え!ありがとう – animaonline