空列表的列表框项目模板
我有一个列表框,其中包含在 XAML 中定义的项目模板,如下所示:
<ListBox Name="listBoxDisruptions">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,10">
<TextBlock Text="{Binding text}" Foreground="Black" FontSize="29">Hello! some item</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
现在我想要的是在列表框的中心显示一行文本,以防该列表框的 ItemSource 为空。
XAML 是否支持某种无项目模板?像这样的东西:
<ListBox Name="listBoxDisruptions">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,0,10">
<TextBlock Text="{Binding text}" Foreground="Black" FontSize="29">Hello! some item</TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.NoItemTemplate>
<TextBlock Text="No Items to display"/>
</ListBox.NoItemTemplate>
</ListBox>
所以?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可能有一种 XAML 方法可以使用类似 WPF 的技术来完成此操作 - 列表框项模板一个空列表
然而,在 Overflow7 中,我厌倦了尝试让这些工作 - 所以我使用了一个稍微有点 hacky 的技巧,而不是向页面添加一个额外的 TextBlock,然后使用:(
从 http://forums.create.msdn.com/forums/p/70755/431687。 .aspx)
There might be a XAML way to do it using WPF-like techniques - Listbox Item Template for an empty list
However, in Overflow7 I got bored trying to make these work - so I used a slightly-hacky trick instead of adding an extra TextBlock to the page and then using:
(Trick learnt from http://forums.create.msdn.com/forums/p/70755/431687.aspx)
您可以将文本块放在列表视图之外,然后使用转换器将文本块的可见性绑定到您用于列表视图的列表的计数。
编辑:要求的示例:-
在页面资源中或应用程序中的资源字典中声明转换器,如下所示:
然后转换器可以是:
You could take the textblock outside of the listview, and then bind the visibility of the textblock to the count of the list your using for the listview, using a converter.
EDIT: Example as asked for:-
Declare the converter either in your page resources, or a resource dictionary in your app like so:
and then the converter could be: