.NETListView
コントロールをカスタマイズする必要があります。
ListViewItem
次の構造が必要です。
代替テキスト http://img257.imageshack.us/img257/1575/85834837.jpg
このカスタマイズを行うのに役立つ良いチュートリアルはありますか?
Visual Studio 2008、C# を使用しています。
.NETListView
コントロールをカスタマイズする必要があります。
ListViewItem
次の構造が必要です。
代替テキスト http://img257.imageshack.us/img257/1575/85834837.jpg
このカスタマイズを行うのに役立つ良いチュートリアルはありますか?
Visual Studio 2008、C# を使用しています。
Scott Guthrie には、リストビュー コントロールをカバーする優れたチュートリアルがあります。
通常の Listviewitem に基づいて独自の listviewitem を作成し、独自の描画を行います
WPF では、ListViewItem を使用して ListViewItem の外観を記述したり、DataTemplate を使用したりすることもできます。これは、上記の問題の非常に簡単な開始です。次に、必要に応じてそれを試すことができるかどうかを確認してください。
<ListView ItemsSource="{Binding ViewModelList}" >
<ListViewItem>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="{Binding ImageInViewModel}"
Grid.Column="0" Grid.Row="0" Grid.RowSpan="2"/>
<TextBlock Text="{Binding ItemText}" Name="Item Text"
Grid.Row="0" Grid.Column="1" />
<TextBlock Name="SubItem1" Text="{Binding SubItem1}"
Grid.Row="0" Grid.Column="2" />
<TextBlock Name="SubItem2" Text="{Binding SubItem2}"
Grid.Row="0" Grid.Column="3" />
<Read Comment! Grid.Row="1" Grid.Column="1" Grid.ColSpan="3" />
</Grid>
</ListViewItem>
</ListView>
コメントを読む: この特定の部分を ListBoxItem と考える代わりに、2 つの方法があります。
現在の ListViewItem のバインディングのコンテキストにいるため、ニーズに合わせて次のブロックを記述することができます。
「Multiline subitem 3」でコンテンツを説明する別の ViewModel への参照を含む「仲介者」ViewModel を使用できます。これにより、両方のタイプで DataTemplate を使用し、それぞれの表示を分離することができます。このソリューションは、最初は複雑ですが、質問に沿ったものに見えます。