【发布时间】:2011-05-05 05:43:24
【问题描述】:
如果控件 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 中是否有更直接的方法来实现这一点?我不介意有一个转换器,我只是想确保没有更好的方法我不知道。
【问题讨论】:
标签: wpf silverlight binding