gpt4 book ai didi

wpf - 绑定(bind)另一个元素的可见性 - 并反转

转载 作者:行者123 更新时间:2023-12-03 10:58:05 24 4
gpt4 key购买 nike

如果控件 B 被隐藏,我想让控件 A 可见,反之亦然。现在我有这个转换器:

public class InvertVisibilityConverter : IValueConverter {

public Object Convert(Object value, Type targetType, Object parameter, CultureInfo culture) {
if (targetType == typeof(Visibility)) {
Visibility vis = (Visibility)value;
return vis == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
}
throw new InvalidOperationException("Converter can only convert to value of type Visibility.");
}

public Object ConvertBack(Object value, Type targetType, Object parameter, CultureInfo culture) {
throw new Exception("Invalid call - one way only");
}
}

而这个 XAML:
<Button Visibility="{Binding ElementName=btn1, Path=Visibility, Converter={StaticResource InvertVisibilityConverter}}">Btn2</Button>

哪个有效。我只是想知道 WPF/Silverlight 中是否有更直接的方法来实现这一点?我不介意有一个转换器,我只是想确保没有更好的方法我不知道。

最佳答案

最重要的是,我认为你在做什么没有问题。

也就是说,如果您在 ViewModel 中有控件 A 绑定(bind)到以控制其可见性的属性,我会将控件 B 绑定(bind)到相同的属性并通过单独的转换器反转可见性。我不确定我是否可以阐明原因,但这对我来说似乎更自然(至少代替您正在做的任何其他上下文)。

关于wpf - 绑定(bind)另一个元素的可见性 - 并反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4099960/

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