我在 WPF 项目的 XAML 中使用布尔转换器。我想在“IsBusy”为真时禁用一些按钮。我绝对确定 IsBusy 已正确设置为 true/false。我能够在没有转换器的情况下成功地直接绑定到 IsBusy。以下内容目前不起作用。我已经在实际的转换器类中放置了断点,并且永远不会命中“Convert”和“ConvertBack”方法。这里有什么问题?
IsEnabled="{Binding IsBusy, Converter={StaticResource InvertedBooleanConverter}}"
资源:
<Window.Resources>
<converters:InvertedBooleanConverter x:Key="InvertedBooleanConverter" />
</Window.Resources>
转换器:
xmlns:converters="clr-namespace:MyProject.Converters"
转换器:
namespace MyProject.Converters
{
[ValueConversion(typeof(bool), typeof(bool))]
public class InvertedBooleanConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (targetType != typeof(bool))
throw new InvalidOperationException("The target must be a boolean");
return !(bool)value;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
#endregion
}
}