0?Collapsed:-6ren">
gpt4 book ai didi

c# - 将控件的可见性绑定(bind)到 IEnumerable 的 'Count'

转载 作者:可可西里 更新时间:2023-11-01 08:01:45 25 4
gpt4 key购买 nike

我有一个包含在 IEnumerable<> 中的对象列表。我想根据此列表的计数设置控件的可见性。我试过:

 Visibility="{Binding MyList.Count>0?Collapsed:Visible, Mode=OneWay}"

但这行不通。我尝试将 MyList.Count 绑定(bind)到文本 block 中的文本以确保计数值正确,事实确实如此。它似乎没有正确设置可见性。

最佳答案

您不能在绑定(bind)中使用逻辑或代码表达式(它需要一个 PropertyPath )。要么使用 converter或触发器,这就是我要做的:

<YourControl.Style>                     
<Style TargetType="YourControl">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding MyList.Count}" Value="0">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</YourControl.Style>

(如果您愿意,您当然可以将样式重构为 resource。)

关于c# - 将控件的可见性绑定(bind)到 IEnumerable 的 'Count',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7562862/

25 4 0