编译绑定到 IsChecked 复选框

Compiled Binding to IsChecked checkbox

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

所以我尝试了这个:

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

而我的模型class是这样的:

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

但它不起作用并且 return 一个错误说

Severity Code Description Project File Line Error Invalid binding path 'Check' : Cannot bind type 'System.Boolean' to 'System.Nullable(System.Boolean)' without a converter

我该如何解决这个问题?

Boolean 和 Nullable(Boolean) 之间有什么区别?

您的模型必须实现其 属性 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