0
我想显示复选框已加载不确定状态,而不是已选中/未选中状态。在CheckBox中无法获取不确定状态,使用Nullable布尔属性
代码段,
private bool? nullCheck = null;
public bool? NullCheck
{
get { return nullCheck; }
set { nullCheck = value; }
}
<CheckBox IsChecked="{x:Bind Path=NullCheck}" IsThreeState="True"/>
然后复选框装有不确定状态。
当我在代码中设置后面像下面的结合,
<CheckBox Loaded="CheckBox_Loaded" IsThreeState="True"/>
private void CheckBox_Loaded(object sender, RoutedEventArgs e)
{
var uiElement = sender as CheckBox;
var binding = new Binding();
binding.Path = new PropertyPath("NullCheck");
uiElement.SetBinding(ToggleButton.IsCheckedProperty, binding);
}
这里复选框器isChecked属性返回false代替空值。我不明白为什么。任何一个有助于通过使用SetBinding方法绑定代码后面的复选框的空值?
感谢:-)我已经将此NullableCheckBox绑定到DataGrid Column的模板,如http://blog.jerrynixon.com/2014/07/lets-code-in-winrt-xaml-you-cannot.html中所述。当我试图排序该列,然后复选框(空)不确定值更改为True。我检查了调用堆栈,发现Native到托管代码转换,反之亦然。 – Smirti
请更新问题以查找问题 – Archana