xSe*_*der 37 wpf listbox itemtemplate
我上了课FruitViewModel
.它描述了ListBox
项目的ViewModels .
<ListBox ItemsSource="{Binding Fruits}">
Run Code Online (Sandbox Code Playgroud)
而且我有
class BananaViewModel : FruitViewModel
Run Code Online (Sandbox Code Playgroud)
和
class AppleViewModel : FruitViewModel
Run Code Online (Sandbox Code Playgroud)
Fruits
包含绑定的BananaViewModel
s和AppleViewModel
s ItemsSource
.
如何为苹果和香蕉制作不同的模板?它们应该在一个列表中,但具有不同的模板
Joh*_*wen 71
您可以通过指定DataType
不带a来定义适用于特定类型的任何实例的DataTemplates x:Key
.使用此方法您不会分配任何内容ItemTemplate
- 模板会自动应用.
<ListBox ItemsSource="{Binding Path=MixedList}">
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:BananaViewModel}">
<TextBlock Text="{Binding Name}" Foreground="Yellow"/>
</DataTemplate>
<DataTemplate DataType="{x:Type local:AppleViewModel}">
<TextBlock Text="{Binding Name}" Foreground="Red"/>
</DataTemplate>
</ListBox.Resources>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18617 次 |
最近记录: |