如何为基于 ItemsControl 的控件(如 ListView 或 DataGrid)定义空 DataTemplate
ListView 等 ASP.NET 控件允许通过设置 ListView.EmptyDataTemplate 属性,当数据源为空时将渲染此模板。
如何在 WPF 中(最好仅使用 XAML)对 执行相同操作基于 ItemsControl 的控件,例如 ListView 和 DataGrid ?因此,我想显示我的自定义 DataTemplate,以防 ItemsSource 为空。
ASP.NET controls like ListView allows providing a custom template by setting the ListView.EmptyDataTemplate property, this template will be rendered in case of empty data source.
How to do the same in WPF (XAML only preferrable) for ItemsControl based controls like ListView and DataGrid? So I want to show my custom DataTemplate in case when ItemsSource is empty.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一个 100% xaml 解决方案利用“HasItems”依赖属性。
There is a 100% xaml solution that makes use of the "HasItems" dependancy property.
您可以使用基于 DataTrigger 设置 Template 属性
,例如,
在资源中:
控制本身:
可能有一种更简单的方法来进行绑定,但我现在没有编译器来弄清楚它会是什么:)
You can use set the Template property based on a DataTrigger
For example,
In Resources:
Control itself:
There might be an simplier way of doing the binding, but I don't have a compiler on me right now to figure out what it would be :)
您可以使用 DataTemplate 选择器来执行此操作。
http://msdn.microsoft.com/en-us /library/system.windows.controls.datatemplateselector.aspx
更新1
代码:
you can use DataTemplate selector to do that.
http://msdn.microsoft.com/en-us/library/system.windows.controls.datatemplateselector.aspx
UPDATE 1
Code: