在WPF中,我可以添加任何UI到ListBoxItem
通过提供的S ListBox
与ItemTemplate
:
<ListBox ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Gray" CornerRadius="8" Padding="4,0,4,0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<CheckBox Grid.Column="1" Content="Is Active Customer" IsChecked="{Binding IsActive}"/>
<Label Content="Id:" Grid.Row="1" HorizontalAlignment="Right"/>
<Label Content="Name:" Grid.Row="2" HorizontalAlignment="Right"/>
<TextBox Text="{Binding Id}" Grid.Row="1" Grid.Column="1"/>
<TextBox Text="{Binding Name}" Grid.Row="2" Grid.Column="1"/>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
结果是:
有没有什么办法,以实现在Windows窗体中一样吗?
编辑:
1 -有什么办法,以实现在Windows窗体一样,同时保持separation of concerns
之间View
和Application Logic
以这样的方式,如果我以后想完全重新定义View
,我就不会去重构整个应用程序?
2 -是否支持WinForms的数据绑定以这样的方式,每个我的ListBoxItems
可以绑定到一个复杂的Entity
,最终包括模型数据UI数据的中间类型转换和背部,在这样我就不必写的方式吨的样板代码来填充视图,然后通过UI值回模式,以节省?
3 -如果我想介绍Animations
以这样的方式使目前SelectedItem
会兴致勃勃地扩大自己变成某种“行详细信息”的模式,在这里你可以看到很多的附加信息?
4 -是否支持WinForms的UI Virtualization
这样的方式,如果我有,比如说1万件商品它并不需要一生的时间去加载UI,只渲染什么是显示在屏幕上?
5 - 说我想介绍复杂的图形公式。 是的WinForms渲染硬件加速?
6 -如何使这一切的Resolution Independent
的这样一种方式,列表框和其所有内容延伸到可用的窗口大小,以便利用更大的屏幕,同时保持与较小的兼容性?
7 -它被建议使用ListView
控件,而不是一个普通的ListBox
,并在ListView
提供任何UI添加到它的能力吗? 我可以添加视频,例如每个项目? 或保存和编辑按钮复杂的主/从模板?
8 -的WinForms是否提供一致的和适当的文档模型 ,使高保真所见即所得的文件和其他类型的丰富内容的创建?