Для хранения состояния IsChecked Я бы посоветовал следовать первому (using binding
), так как это лучше, потому что привязка позволяет сохранить пользовательский интерфейс и код более чистыми и отделенными.
Второй (handling an event
) больше всего похож на подход WinForms, поэтому я не понимаю, почему вы должны следовать ему в приложении WPF.
РЕДАКТИРОВАТЬ: Ответ на вопрос, касающийся нескольких свойств
Если зависит от того, что на самом деле связано с представлением, и как в нем отображаются флажки.
Если вы используете какой-либо контейнер ItemsControl
, например ListView
, и каждый флажок принадлежит одной строке / столбцу - вы можете привязать все флажки к одной коллекции, например
private IList<bool> states;
public IList<bool> States
{
get
{
return this.states;
}
set
{
this.states = value;
this.OnPropertyChanged("States");
}
}
Чтобы дать вам конкретный ответ - поделитесь, пожалуйста, макетом пользовательского интерфейса формы, в которой установлены флажки.