0

リストに CheckBox があります。コンパイル済みバインディングを使用して 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; }
}

しかし、それは機能せず、エラーを返します

重大度コード 説明 Project File Line Error 無効なバインド パス 'Check': コンバーターなしで型 'System.Boolean' を 'System.Nullable(System.Boolean)' にバインドできません

どうすればこれを修正できますか?

Boolean と Nullable(Boolean) の違いは何ですか?

4

1 に答える 1

6

モデルはそのプロパティを次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

于 2015-08-16T17:13:39.283 に答える