Как снять флажок «Выбрать все», если какой-либо из флажков снят в WPF, C #? - PullRequest
0 голосов
/ 15 сентября 2009

В приложении WPF, C # у меня есть 4 флажка,

  1. выбрать все

  2. команда

  3. личный

  4. subteam.

Как обычно, если выбрать вариант 1, он устанавливает все флажки, а когда он не отмечен, он снимает все флажки. Это работает нормально для меня ..

Но когда я нажимаю «Выбрать все» (все будут отмечены), и если я сниму флажок с любого из остальных 3, то «selectall» должен быть снят.

 public void AllChartsSelected()
    {
        if (_view.SelectAllChartsCheckBox)
        {
            boolSelectAll = true;

            _view.TeamCheckBox = true;
            _view.PersonalCheckBox = true;
            _view.SubTeamCheckBox = true;

        }
        else
        {
    boolSelectAll = false;
            _view.TeamCheckBox = false;
            _view.PersonalCheckBox = false;
            _view.SubTeamCheckBox = false;


        }
}

После этого я не смог сделать это правильно, так как снятие флажка тоже должно снимать флажок выбора всех.

Ответы [ 2 ]

1 голос
/ 15 сентября 2009

Это легко. В обработчиках событий 2-го, 3-го и 4-го флажков проверьте, все ли они выбраны, и соответственно установите контрольное состояние первого.

0 голосов
/ 15 сентября 2009

Объект _view - это объект ViewModel (не элемент управления), я прав? Если это так, то вам лучше где-нибудь подписаться на изменения этих свойств и соответственно установить свойство SelectAll в обработчике. При изменении любого свойства ваше свойство SelectAll будет оставаться в актуальном состоянии.

Если _view - это View (элемент управления), то вы, вероятно, сделали здесь опечатку ('.IsChecked' отсутствует везде?), И тогда это действительно плохая практика делать проверку / снятие отметки в коде. Вы должны связать флажки с некоторыми свойствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...