次の方法で共有


CollectionViewSource.IsSourceGrouped プロパティ

定義

ソース データをグループ化するかどうかを示す値を取得または設定します。

public:
 property bool IsSourceGrouped { bool get(); void set(bool value); };
bool IsSourceGrouped();

void IsSourceGrouped(bool value);
public bool IsSourceGrouped { get; set; }
var boolean = collectionViewSource.isSourceGrouped;
collectionViewSource.isSourceGrouped = boolean;
Public Property IsSourceGrouped As Boolean
<CollectionViewSource IsSourceGrouped="bool" .../>

プロパティ値

Boolean

bool

データがグループ化されている場合は trueデータ がグループ化されていない場合は false。

次のコード例では、 ListBox コントロールをグループ化された LINQ クエリの結果にバインドする方法を示します。 この例では、チームのコレクションが都市別にグループ化され、グループ ヘッダーとして市区町村名で表示されます。 完全なコード一覧については、 XAML データ バインディングのサンプルを参照してください。 グループ化に関するその他のコード例については、 Grouped GridView のサンプルを参照してください。

<Grid>

  <Grid.Resources>
    <CollectionViewSource x:Name="groupInfoCVS" IsSourceGrouped="true"/>
  </Grid.Resources>

  <ListBox x:Name="lbGroupInfoCVS" 
    ItemsSource="{Binding Source={StaticResource groupInfoCVS}}">

    <ListBox.GroupStyle>
      <GroupStyle>
        <GroupStyle.HeaderTemplate>
          <DataTemplate>

            <TextBlock Text="{Binding Key}"/>

          </DataTemplate>
        </GroupStyle.HeaderTemplate>
      </GroupStyle>
    </ListBox.GroupStyle>

    <ListBox.ItemTemplate>
      <DataTemplate>

        <Border Background="{Binding Color}" 
          Width="200" CornerRadius="10" HorizontalAlignment="Left">

          <TextBlock Text="{Binding Name}" 
            Style="{StaticResource DescriptionTextStyle}" 
            HorizontalAlignment="Center" FontWeight="Bold"/>

        </Border>
      </DataTemplate>
    </ListBox.ItemTemplate>

  </ListBox>

</Grid>
Teams teams = new Teams();
var result = 
    from t in teams 
    group t by t.City into g 
    orderby g.Key 
    select g;
groupInfoCVS.Source = result;

適用対象

こちらもご覧ください