gpt4 book ai didi

wpf - 如何在WPF中将int绑定(bind)到Visibility?

转载 作者:行者123 更新时间:2023-12-02 03:57:12 25 4
gpt4 key购买 nike

我的 BudgetControlType 属性具有 1 .. 7 值

if(BudgetControlType ==1)
dataComboBox1.Visibility=Visibility.Visiblile;
dataComboBox2 to dataComboBox7 =Visibility.Hidden;

if(BudgetControlType ==2)
dataComboBox1.Visibility=Visibility.Visiblile;
dataComboBox2.Visibility=Visibility.Visiblile;
dataComboBox3 to dataComboBox7 =Visibility.Hidden;

等等...

如何在 xaml 中执行此操作?

最佳答案

这是我过去使用 WPFConverters 使用的另一种方法。

<TabItem.Visibility>
<Binding Path="SomeObservableCollection.Count">
<Binding.Converter>
<converters:ConverterGroup>
<converters:ExpressionConverter Expression="{}{0} &gt; 0" />
<BooleanToVisibilityConverter />
</converters:ConverterGroup>
</Binding.Converter>
</Binding>
</TabItem.Visibility>

ConvertGroup允许多个转换器按顺序运行。

ExpressionConverter让您定义任意表达式。就我而言,如果集合计数大于零,我希望 TabItem 可见。在 xaml 中定义意味着转义字符和有点尴尬的语法,但它工作得很好!

BooleanToVisibilityConverter 将表达式的 bool 结果转换为我们所需的可见性。

对于 Elham,只要实现了 INotifyPropertyChanged,BudgetControlType 就可以绑定(bind)。 equals 表达式是这样完成的(如果绑定(bind)值等于 7,我将返回 true):

<converters:ExpressionConverter Expression="{}{0} == 7" />

关于wpf - 如何在WPF中将int绑定(bind)到Visibility?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43434387/

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