wpf - 未选中时,我的复选框返回 NULL

标签 wpf binding

我的 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/

相关文章:

c# - 如何为子属性在 Style、Setter 和 HierarchicalDataTemplate 上设置 DataContext 绑定(bind)?

java - JDK 1.7 DatagramSocket 未正确绑定(bind) IP 和端口

c# - 确定是什么引发了异常?

C#执行cmd命令不起作用

c# - 使用 ObservableCollection 和绑定(bind) WPF

c# - 带有 2 个表的 WPF TreeView(分层数据模板)

c# - 线程卡住主 UI

javascript - jquery "this"事件处理程序的绑定(bind)问题(相当于原型(prototype)中的 bindAsEventListener)

javascript - React.js,如何避免 var me = this?

wpf - ComboBox和 Entity Framework ,如何获取ID? (WPF-MVVM)