XAMLコード:列にCellTemplatesがある場合、プログラムでGridViewを作成するにはどうすればよいですか?
<ListView x:Name="ListDisplay"
Grid.Column="1">
<ListView.View>
<GridView>
<GridViewColumn x:Name="Column_1"
x:FieldModifier="private"
Header="Column1"
Width="200">
<GridViewColumn.CellTemplate>
<DataTemplate>
<DockPanel>
<Image Width="15"
Height="15"
Source="{Binding Icon}"
DockPanel.Dock="Left"/>
<Label Content="{Binding Column1_Content}"
Width="180"
FontSize="12"
HorizontalContentAlignment="Left"
DockPanel.Dock="Left"/>
</DockPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn x:Name="Column_2" x:FieldModifier="private"
Header="Column2"
DisplayMemberBinding="{Binding Column2_Content}"
Width="175"/>
<GridViewColumn x:Name="Column_3"
x:FieldModifier="private"
Header="Column3"
DisplayMemberBinding="{Binding Column3_Content}"
Width="100"/>
<GridViewColumn x:Name="Column_4" x:FieldModifier="private"
Header="Column4"
DisplayMemberBinding="{Binding Column4_Content}"
Width="100"/>
</GridView>
</ListView.View>
</ListView>
C#クラス:
internal class MyDataClass
{
public BitmapSource Icon { get; set; }
public string Column1_Content { get; set; }
public string Column2_Content { get; set; }
public string Column3_Content { get; set; }
public string Column4_Content { get; set; }
}
これは、基本的に4列のリストビューであり、第1の列は、左の画像を有しています。これまでのところすべてが機能します。私が何をしたいか
は、C#コードにコードの全体
<ListView.View>
...
</ListView.View>
一部を変換です。
ように、コードは次のようになります。
GridView View = new GridView();
GridViewColumn Column_2 = new GridViewColumn()
{
Header = "Column2",
DisplayMemberBinding = new Binding("Column2_Content"),
Width = 175
};
// Same thing for columns 3 and 4
View.Columns.Add(Column_2);
View.Columns.Add(Column_3);
View.Columns.Add(Column_4);
ListDisplay.View = View;
問題がある、私はアイコン源とラベル内容に結合を行うと、C#で(プログラムで列1のためGridViewColumnを作成する方法を絶対にないアイデアを持っていません)。
私はそれがコード内のDataTemplateを作るための良い方法だと思います。 – lindexi
ちょうどこれをテストし、それは魅力のように動作します。 1つの変更点:FrameWorkElement.WidthProperty、FrameWorkElement.HeightPropertyの両方の項目のWidthProperty/HeightPropertyを置き換えました。 Label.FontSizePropertyとLabel.HorizontalAlignmentPropertyでFontSizePropertyとHorizontalAlignmentProperty、数値に15.0など – Andrei