gpt4 book ai didi

WPF 可见性绑定(bind)到具有多个变量的 bool 表达式

转载 作者:行者123 更新时间:2023-12-01 22:58:26 25 4
gpt4 key购买 nike

我有两个 bool 值,我想根据它们的值显示图像,如下所示:

   <Window.Resources>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</Window.Resources>

<Image Visibility="{Binding (Boolean1 && Boolean2),Converter={StaticResource BooleanToVisibilityConverter}}" />

注意 Boolean1 和 Boolean2 表达式。

最佳答案

XAML 中没有定义 && 运算符,但您可以绑定(bind)到多个属性并使用 IMultiValueConverter:

<Image>
<Image.Visibility>
<MultiBinding Converter="{StaticResource YourMultiConverter}">
<Binding Path="Boolean1" />
<Binding Path="Boolean2" />
</MultiBinding>
</Image.Visibility>
</Image>
<小时/>
public class YourMultiValueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool a = (bool)values[0];
bool b = (bool)values[1];

return a && b ? Visibility.Visible : Visibility.Collapsed;
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

或者您可以使用带条件的 Image 样式:

<Image>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Boolean1}" Value="True" />
<Condition Binding="{Binding Boolean2}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>

关于WPF 可见性绑定(bind)到具有多个变量的 bool 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342950/

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