我在页面中有一个复选框。我不确定我应该使用哪个事件来检查已检查状态。我需要确定复选框是选中还是取消选中。适当的方法是什么?我在研究中看到Checkbox实际上有三种状态;选中,未选中和不确定。这让我感到困惑,因为看起来用户只会发生两种状态。从用户的角度来看,Checkbox将是Checked或Unchecked,但从我的角度来看,我如何处理这三种状态呢?我理解正确吗?另外,我应该使用什么事件?其他考虑因素?
基本上我要做的是询问用户是否要在WP8的新地图控件上显示地标。如果是这样,我需要保存此设置,并且我将限制地图的缩放(我将在另一个区域中进行)。我只需要从复选框控件中确定用户的偏好并保存他或她的设置。到目前为止,我所拥有的内容如下:
<CheckBox x:Name="LandmarksEnabledCheckBox" Checked="LandmarksEnabledCheckBox_Checked">
<CheckBox.Content>
<TextBlock Text="{Binding Path=LocalizedResources.SettingsPage_LandmarksEnabled, Source={StaticResource LocalizedStrings}}" TextWrapping="Wrap"/>
</CheckBox.Content>
</CheckBox>
private void LandmarksEnabledCheckBox_Checked(object sender, RoutedEventArgs e)
{
//If CheckBox is checked, set `Settings.LandmarksEnabled.Value = true`, otherwise false
//??
}
答案 0 :(得分:2)
CheckBox具有IsChecked属性,这是一个可以为空的bool,换句话说
bool?
你可以检查一下CheckBox是否有值,如果有,请把它拿来并比较为true或false。
if (LandmarksEnabledCheckBox.IsChecked.HasValue)
{
if (LandmarksEnabledCheckBox.IsChecked.Value == true)
{
//checkbox is checked
}
else
{
//checkbox is not checked
}
}
答案 1 :(得分:1)
CheckBox是WPF中的ToggleButton
。因此,它们具有IsChecked
属性。
if (checkBox.IsChecked)
答案 2 :(得分:0)
if (checkBox.Checked)
{
//Do stuff
}
答案 3 :(得分:0)
bool check = Boolean.Parse(LandmarksEnabledCheckBox.IsChecked.ToString());
if (check)
{
}
答案 4 :(得分:0)
非常简单
bool SuperAdmin = Convert.ToBoolean(chkbx_SuperAdmin.CheckState);
它将为您提供复选框的当前状态。 谢谢