我的应用程序中有两个按钮
现在我想将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;
}
}
答案 0 :(得分:0)
http://www.codeproject.com/Articles/29054/WPF-Data-Binding-Part-1 - &gt;元素数据绑定的另一个例子
答案 1 :(得分:0)
使用另一个否定IsOn属性的计算/派生属性IsOff(无后备字段)会不会更简单?
public bool IsOn{
get{...}
set
{ _isOn = value;
NotifyPropertyChanged("IsOn");
NotifyPropertyChanged("IsOff");
}
}
public bool IsOff
{
get{ return !IsOn;}
}
转换器通常用于转换数据类型,例如将Visibility枚举属性绑定到viewmodel中的布尔支持属性。