2011-04-02 8 views
1

件名に何かが見つかりません。私は車のタイプのリストを持っているとしましょう。各自動車オブジェクトは、一連の特性(すなわち、モデル、条件、価格、所有者など)を有する。私はDataGridにCarsのリストを表示したいが、どのプロパティを表示するかを制御したい(たとえば、リストに所有者名を表示したくない場合や、車の価格)。WPF - データグリッド内のオブジェクトのデータテンプレート

これを達成するためにデータテンプレートを作成するにはどうすればよいですか(基本的な例が必要です)。

答えて

1

DataGrid列を表示および非表示にするには、各列の表示を、この列を表示するかどうかを決定するBooleanプロパティにバインドする必要があります。行の背景色に関して、行の背景プロパティを車価格にバインドするDataGrid行スタイルを追加するには、車価格を関連する行のカラーブラシに変換する値コンバータを使用します。

<Window x:Class="MyProject.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:System="clr-namespace:System;assembly=mscorlib" 
    Title="MainWindow" 
    Height="136" Width="525"> 
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False"> 
    <DataGrid.RowStyle> 
     <Style TargetType="{x:Type DataGridRow}"> 
      <Setter Property="Background" 
        Value="{Binding SomeProperty, 
         Converter={StaticResource SomePropertyToBrushConverter}}"/> 
     </Style> 
    </DataGrid.RowStyle> 

    <DataGrid.Columns> 
     <DataGridTextColumn Header="Owner Name" 
          Visibility="{Binding IsOwnerNameVisible, 
           Converter={StaticResource BooleanToVisiblityConverter}}"/> 
    </DataGrid.Columns> 
</DataGrid> 

:概念の次の証明を参照してください。
関連する問題