已编译绑定到IsChecked复选框

本文关键字:IsChecked 复选框 绑定 编译 | 更新日期: 2023-09-27 18:08:23

我的列表中有复选框,我正在尝试使用编译绑定来绑定IsChecked属性。。。

所以我尝试了这个:

<DataTemplate x:DataType="local:RDO">
     <StackPanel Orientation="Horizontal">
        <CheckBox Content="{x:Bind Content}" IsChecked="{x:Bind Check}"/>
     </StackPanel>
</DataTemplate>

我的模型类是这样的:

class RDO {
    public string Content { get; set; }
    public Boolean Check { get; set; }
}

但它不起作用,并返回一个错误,说

严重性代码描述项目文件行错误无效的绑定路径"Check":无法绑定类型"System"。布尔"到"系统。Nullable(System.Boolean(',没有转换器

我该怎么解决这个问题?

Boolean和Nullable(Boolean(之间的区别是什么?

已编译绑定到IsChecked复选框

您的模型必须像一样实现其属性Check

 class RDO {
public string Content { get; set; }
public Boolean? Check { get; set; }
}

看到Boolean?上的?了吗?Nullable是值类型(struct(的包装器,因此这些类型可以具有值null(默认情况下,值类型不能具有该值(。这是在您的特定情况下使用绑定功能的要求。

进一步研究:

https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx