![](/img/trans.png)
[英]How to check for double checkbox IsChecked in if statement ? C#, WPF
[英]WPF Checkbox check IsChecked
我不是在談論一個事件處理程序,而是一個簡單的If Statement
檢查CheckBox
是否已被選中。 到目前為止,我有:
if (chkRevLoop.IsChecked == true){}
但這會引發錯誤:
不能隱式轉換類型“bool?” '布爾'。 存在顯式轉換(您是否缺少演員表?)
有沒有辦法做到這一點,我失蹤了?
您必須從bool?
進行此轉換bool?
bool
,使其工作:
if((bool)(chkRevLoop.IsChecked)){}
由於它已經是一個bool
條件,因此您無需將 true 設為 false,因為如果它為真,則只有它才會進入此 if 條件,否則不會。 所以,甚至不需要在這里放chkRevLoop.IsChecked == true
,默認情況下,你會通過 puttin IsChecked
詢問==true
一個bool?
可以是 true、false 或 null,而bool
只能是 true 或 false。 ?
使類型“可為空”並在通常情況下添加 null 作為一種可能性,因此您可能只需使用
if ((bool)chkRevLoop.IsChecked == true){}
或者
if (chkRevLoop.IsChecked == (bool?)true){}
使其匹配和工作。 第二個可能更好,因為我不知道如果 IsChecked 為 null 會在演員表中發生什么
考慮檢查該屬性是否具有值:
var isChecked = chkRevLoop.IsChecked.HasValue ? chkRevLoop.IsChecked : false;
if (isChecked == true){}
CheckBox 的IsChecked
屬性是 Nullable 布爾值。
public bool? IsChecked { get; set; }
創建一個 Nullable 布爾值並將其等同於您。
bool? NullableBool = chkRevLoop.IsChecked;
if(NullableBool == true) { }
一行足以檢查單選按鈕是否被選中:
string status = Convert.ToBoolean(RadioButton.IsChecked) ? "Checked" : "Not Checked";
您應該使用 Nullable 對象。 因為 IsChecked 屬性可以分配給三個不同的值:Null、true 和 false
Nullable<bool> isChecked = new Nullable<bool>();
isChecked = chkRevLoop.IsChecked;
if (isChecked.HasValue && isChecked.Value)
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.