我的 XAML 文件中有以下代码,带有一个非常简单的复选框。当复选框被选中时,它将我的属性设置为 true。但是,当我取消选中该复选框时,在使用 convertBack 函数中的断点进行调试时,我可以看到该值为 null。我什至尝试设置 IsThreeState = false,但仍然无法正常工作。有谁知道为什么?
<Window.Resources>
<this:DebugValueConverter x:Key="debugConverter"/>
</Window.Resources>
<StackPanel>
<CheckBox Content="Testing" IsThreeState="False"
IsChecked="{Binding CheckBoxValue,
Converter={StaticResource debugConverter},
FallbackValue=false,TargetNullValue=false}"
/>
</StackPanel>
CheckBoxValue 是我的 View 模型中的 bool 属性。
转换器类是:
公共(public)类 DebugValueConverter : IValueConverter
{
#region IValueConverter 成员
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
#endregion
}
最佳答案
只是因为你有TargetNullValue=false
在您的 Binding
上.这意味着 false
的值来自您的CheckBoxValue
属性将被翻译成 null
,这是您的转换器看到的。
关于wpf - 未选中时,我的复选框返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6614350/