gpt4 book ai didi

WPF Listbox - 空列表显示消息

转载 作者:行者123 更新时间:2023-12-03 14:42:49 29 4
gpt4 key购买 nike

任何人都可以建议显示文本 block (带有诸如“List Empty”之类的文本)的最佳方式,以便它的可见性绑定(bind)到 Items.Count。

我已经尝试了以下代码并且无法使其工作,所以认为我一定做错了。

    <ListBox x:Name="lstItems" 
ItemsSource="{Binding ListItems}">
</ListBox>
<TextBlock Margin="4" FontStyle="Italic" FontSize="12" Text="List is empty" Visibility="Collapsed">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lstItems, Path=Items.Count}" Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>

最佳答案

您的代码中的问题是在文本 block 本身中设置 Visibility 的值比在样式中设置它具有更高的优先级。因此,即使触发发生,触发内部的设置也不起作用。将 XAML 更改为:

  <TextBlock Margin="4" FontStyle="Italic" FontSize="12" Text="List is empty" >
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=lstItems, Path=Items.Count}" Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>

Visibility 的设置全部在样式中并且有效(至少在我的演示项目中)。

关于WPF Listbox - 空列表显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2446903/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com