Привязать перечисление к RadioButton TwoWay в WinUI3 ⇐ C#
Привязать перечисление к RadioButton TwoWay в WinUI3
Я хочу привязать enum к некоторым переключателям в WinUI3. Я пробовал несколько решений, используемых в Wpf, но ни одно из них работают в WinUI3
вот мои последние попытки:
// Мое фактическое перечисление общедоступное перечисление PPGSensorType { Светоотражающий = 1, Трансмиссия = 2 } общедоступный класс EnumToBooleanConverter: IValueConverter { общедоступный объект Convert (значение объекта, тип targetType, параметр объекта, строковый язык) { строка параметраString = параметр в виде строки; если (parameterString == null) вернуть ложь; если (Enum.IsDefined(value.GetType(), значение) == false) вернуть ложь; параметр объектаЗначение = Enum.Parse(value.GetType(),parameterString); вернуть параметрValue.Equals(значение); } // TargetType — это Object в ConvertBack. Я не знаю, что с этим делать. общедоступный объект ConvertBack (значение объекта, тип targetType, параметр объекта, строковый язык) { строка параметраString = параметр в виде строки; если (parameterString == null) throw new ArgumentException("Для анализа значения перечисления необходимо передать параметр."); return Enum.Parse(targetType,parameterString); } } Как я уже упоминал выше, TargetType — это Object при обратном преобразовании, поэтому он не может правильно преобразовать обратное значение.
Я попробовал новый способ определения точного значения параметра Converter с использованием статических ресурсов. В app.xaml я добавил следующие ресурсы:
Reflective Передача Это тоже не работает.
Я хочу привязать enum к некоторым переключателям в WinUI3. Я пробовал несколько решений, используемых в Wpf, но ни одно из них работают в WinUI3
вот мои последние попытки:
// Мое фактическое перечисление общедоступное перечисление PPGSensorType { Светоотражающий = 1, Трансмиссия = 2 } общедоступный класс EnumToBooleanConverter: IValueConverter { общедоступный объект Convert (значение объекта, тип targetType, параметр объекта, строковый язык) { строка параметраString = параметр в виде строки; если (parameterString == null) вернуть ложь; если (Enum.IsDefined(value.GetType(), значение) == false) вернуть ложь; параметр объектаЗначение = Enum.Parse(value.GetType(),parameterString); вернуть параметрValue.Equals(значение); } // TargetType — это Object в ConvertBack. Я не знаю, что с этим делать. общедоступный объект ConvertBack (значение объекта, тип targetType, параметр объекта, строковый язык) { строка параметраString = параметр в виде строки; если (parameterString == null) throw new ArgumentException("Для анализа значения перечисления необходимо передать параметр."); return Enum.Parse(targetType,parameterString); } } Как я уже упоминал выше, TargetType — это Object при обратном преобразовании, поэтому он не может правильно преобразовать обратное значение.
Я попробовал новый способ определения точного значения параметра Converter с использованием статических ресурсов. В app.xaml я добавил следующие ресурсы:
Reflective Передача Это тоже не работает.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему перечисление всегда находится в том состоянии, в котором перечисление указано первым?
Anonymous » » в форуме C# - 0 Ответы
- 84 Просмотры
-
Последнее сообщение Anonymous
-