Я хотел бы сделать Control A видимым, если Control B скрыт, и наоборот.Прямо сейчас у меня есть этот конвертер:
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?Я не против иметь конвертер, я просто хочу убедиться, что нет лучшего способа, о котором я не знаю.