0

我的应用程序中有两个按钮

现在我想将 btnOff 绑定到 !isOn。含义是 btnOn 启​​用,btnOff 应该禁用,反之亦然

编辑:下面是我的实现:

<Button x:Name="btnOn" Content="On" Width="45" Height="24" IsEnabled="{Binding isOn, Converter={StaticResource BoolInverter}}" />
   <Button x:Name="btnOff" Content="Off" Width="45" Height="24" IsEnabled="{Binding isOn} />

 public class BoolInverterConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is bool)
            {
                return !(bool)value;
            }
            return value;
        }

    }
4

2 回答 2

0

元素数据绑定

http://www.codeproject.com/Articles/29054/WPF-Data-Binding-Part-1 -> 元素数据绑定的另一个例子

于 2012-05-09T03:37:00.293 回答
0

拥有另一个否定 IsOn 属性的计算/派生属性 IsOff(无支持字段)不是更简单吗?

public bool IsOn{ 
  get{...}
  set
  {    _isOn = value; 
       NotifyPropertyChanged("IsOn");
       NotifyPropertyChanged("IsOff");
  }
}

public bool IsOff
{
   get{   return !IsOn;}
}

转换器通常用于转换数据类型,例如将 Visibility 枚举属性绑定到视图模型中的布尔支持属性。

于 2012-05-09T04:27:44.930 回答