バージョン

xamGrid コントロールの代わりに xamDataGrid コントロールを使用してください。xamGrid は数年以内に廃止する予定のため、新しい機能の追加はありません。xamGrid のサポートおよび重要なバグ修正は廃止時まで提供されます。コードベースの xamDataGrid への移動に関する質問は、サポートまでお問い合わせください。

テンプレート列の作成

xamGrid のテンプレート列によって、カスタム コンテンツを表示できます。その ItemTemplate プロパティをデータ テンプレートのインスタンスに設定することによってコンテンツを列に追加できます。ItemTemplate のデータ コンテキストは現在の行が表すデータ オブジェクトです。

以下のコードは、テンプレート列を使用して xamGrid の Description 列および Address 列にコンテンツを表示する方法を示します。テンプレート列内でコントロールをデータにバインドする例については、 「テンプレート列でデータを編集」を参照してください。

XAML の場合:

<ig:XamGrid x:Name="dataGrid" AutoGenerateColumns="False" ColumnWidth="*">
   <ig:XamGrid.Columns>
      <ig:TextColumn Key="MLS">
         <ig:TextColumn.HeaderTemplate>
            <DataTemplate>
               <TextBlock Text="MLS#" />
            </DataTemplate>
         </ig:TextColumn.HeaderTemplate>
      </ig:TextColumn>
      <ig:TemplateColumn Key="SqFeet">
         <ig:TemplateColumn.HeaderTemplate>
            <DataTemplate>
               <TextBlock Text="Description" />
            </DataTemplate>
         </ig:TemplateColumn.HeaderTemplate>
         <ig:TemplateColumn.ItemTemplate>
            <DataTemplate>
               <StackPanel>
                  <StackPanel Orientation="Horizontal">
                     <TextBlock Text="{Binding SqFeet, Converter={StaticResource FormatConverter}, ConverterParameter=N0}" />
                     <TextBlock Text="Sq. Feet" Margin="5,0,0,0" />
                  </StackPanel>
                  <StackPanel Orientation="Horizontal">
                     <TextBlock Text="{Binding NumberOfBedRooms}" />
                     <TextBlock Text="Bed Rooms" Margin="5,0,0,0" />
                     <TextBlock Text="{Binding NumberOfBathRooms}" Margin="5,0,0,0" />
                     <TextBlock Text="Bath Rooms" Margin="5,0,0,0" />
                  </StackPanel>
               </StackPanel>
            </DataTemplate>
         </ig:TemplateColumn.ItemTemplate>
      </ig:TemplateColumn>
      <ig:TemplateColumn Key="City">
         <ig:TemplateColumn.HeaderTemplate>
            <DataTemplate>
               <TextBlock Text="Address" />
            </DataTemplate>
         </ig:TemplateColumn.HeaderTemplate>
         <ig:TemplateColumn.ItemTemplate>
            <DataTemplate>
               <StackPanel Orientation="Horizontal">
                  <TextBlock Text="{Binding City}" Margin="5,0,0,0"  />
                  <TextBlock Text="," />
                  <TextBlock Text="{Binding State}" Margin="5,0,0,0" />
                  <TextBlock Text="{Binding PostalCode}" Margin="5,0,0,0" />
               </StackPanel>
            </DataTemplate>
         </ig:TemplateColumn.ItemTemplate>
      </ig:TemplateColumn>
   </ig:XamGrid.Columns>
</ig:XamGrid>
sl xamGrid Create a Template Column 01.png