Установка:
У меня есть поле со списком, его источник элементов привязан к ObservableCollection пользовательского класса, одно свойство - список .
У меня есть itemcontrol, который привязан к данным выбранного элемента списка. Свойство List .
Таблица данных itemscontrol создает список радиокнопок, каждая из которых представляет отдельные значения перечисления в списке.
Желание:
Когда я изменяю значение в поле со списком, источник элементов управления обновляется. Я хочу, чтобы это происходило, если переключатель в новом источнике управления элементами такой же, как выбранная кнопка в предыдущем списке (до ее обновления), это нужно проверить.
Текущая идея:
Назначьте событие Checked переключателям, которые поддерживают свойство myenum в классе окна, с которым можно сравнивать. Сделайте свойство IsChecked радиобокса привязанным к конвертеру и сравните его со свойством myenum. Чтобы добиться этого, я сделал класс окна расширенным от IValueConverter, таким образом, функция конвертера имеет доступ к свойству myenum.
Проблема:
Я не знаю, как заставить привязку IsChecked использовать окно в качестве конвертера. Я попытался использовать относительный источник в части конвертера привязки, но это не работает
IsChecked="{Binding Converter={RelativeSource={RelativeSource Self}}}"
Предпочитаемые ответы:
Помощь в исправлении синтаксиса привязки, если это возможно.
Идеи более подходящего способа достижения того, что я хотел бы.