Объединение группировки, переключателей и привязки не работает.Странная особенность привязки заключается в том, что если вы установите значение привязанного целевого свойства в коде, оно отключит привязку.Предположение о том, что дизайн привязки создается, заключается в том, что единственным способом изменения целевого свойства является использование пользовательского интерфейса или изменение свойства источника, с которым он связан, и если фрагмент кода явно устанавливает значение привязкиСвойство target знает, что делает.
К сожалению, это означает, что сгруппированные переключатели, которые устанавливают значения друг друга в коде при их изменении, нарушают привязки, когда пользователь нажимает на них.Упс.
Решение простое: привязать переключатели к свойствам в вашей модели представления, исключить группирование и поместить логику в модель представления для обработки взаимоисключающего характера связанных свойств, например:
private bool _Option1;
public bool Option1
{
get { return _Option1; }
set
{
if (value != _Option1)
{
_Option1 = value;
if (value)
{
Option2 = false;
Option3 = false;
}
}
OnPropertyChanged("Option1");
}
}