La liaison de désactiver la Visibilité d'un élément et de l'inversion de

Je voudrais faire Un Contrôle visible si un Contrôle est caché, et vice-versa. Droit maintenant, j'ai ce convertisseur:

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");
    }
}

Et ce XAML:

<Button Visibility="{Binding ElementName=btn1, Path=Visibility, Converter={StaticResource InvertVisibilityConverter}}">Btn2</Button>

Qui fonctionne. Je me demandais simplement si il y a une façon plus directe dans WPF /Silverlight pour accomplir cette? Je ne me dérange pas d'avoir un convertisseur, je veux juste m'assurer que il n'y a pas de meilleure façon, je ne suis pas au courant.

InformationsquelleAutor Adam Rackis | 2010-11-04