как разрешить ToggleSwitch isChecked bool? на С# с wp7?

у меня проблема с тумблером из набора инструментов Silverlight. мне нужно установить isChecked из класса настроек, но я не знаю, как получить тип bool?, который требуется для этого.

может кто-нибудь привести пример, как установить свойство isChecked из кода С#?


person wp7mobileusers    schedule 27.06.2011    source источник


Ответы (2)


"?" квалификатор типа bool является сокращением для Nullable структура. Все это означает, что вы можете присвоить null этой конкретной переменной. Это часто имеет смысл для чего-то вроде флажка, потому что флажок может иметь неопределенное состояние (обычно это отображается знаком «-» в пользовательском интерфейсе). В этом случае нулевое значение будет отражать это неопределенное состояние. В коде вы по-прежнему устанавливаете свойство IsChecked, как и любое другое логическое значение.

toggleCheckBox.IsChecked = true; //check the checkbox
toggleCheckBox.IsChecked = false; //uncheck the checkbox
toggleCheckBox.IsChecked = null; //set the checkbox to indeterminate state

См. также это и это.

person avanek    schedule 27.06.2011

Я не использовал инструментарий, но bool? такой же, как обычный bool, но также может иметь значение null. Итак, myToggle.IsChecked = true; должно работать.

person keyboardP    schedule 27.06.2011
comment
Также для чтения вы можете использовать метод HasValue, чтобы проверить, является ли bool? является нулевым или нет. Например. if (myToggleSwitch.isChecked.HasValue && myToggleSwitch.IsChecked){ //Проверено, верно } - person softwaredeveloper; 27.06.2011