C++/CX如何判断XAML CheckBox是否被勾选?

How to determine whether XAML CheckBox is checked in C++/CX?

我的XAML代码:

<CheckBox x:Name="IncludeTextures" Content="Include textures"/>

C++/CX:

if (IncludeTextures->IsChecked) { // always true (even if Checkbox was not checked)

}

问题是 IsChecked 属性 始终为真。

Equals() 方法有效:

if (IncludeTextures->IsChecked->Equals(true)) {

}

您可以通过"Value"属性获取state(true/false)。 ... 但是,当 CheckBox 处于 "indeterminate" 状态时,IsChecked 属性 可以为 NULL。所以最好先完成空检查。

if ((IncludeTextures->IsChecked != nullptr) && (IncludeTextures->IsChecked->Value))
{

}