Сделайте границу ComboBox красной, если элемент еще не выбранC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сделайте границу ComboBox красной, если элемент еще не выбран

Сообщение Anonymous »

Я новичок в C# и WPF и, честно говоря, начал учиться самостоятельно только на этой неделе. Я пытаюсь создать раскрывающееся меню, которое будет выделено красным (сигнализируя, что это поле является обязательным), пока элемент не будет выбран. В моем списке нет пустого элемента, но состояние по умолчанию — пустой вариант. После выбора одного элемента вы не сможете снова получить доступ к пустой опции.
Я попробовал кучу разных подходов и считаю, что понимаю, что мне нужно создать стиль. шаблон, который запрашивает проверку для изменения цвета границы. Однако я сталкиваюсь с некоторыми проблемами. Он никогда не видит ошибок проверки при запуске. Я думаю, что у меня просто фундаментальное непонимание того, как использовать проверки (в основном, синтаксические требования для создания моей собственной проверки и ее использования для этого триггера).
Если есть какой-либо способ выполнить это без проверок, что могло бы быть проще для меня, но я не видел в Интернете ничего, описывающего это. Будем признательны за любую помощь.
Мой стиль шаблона XAML ComboBox: МОЙ код XAML ComboBox: Мой код проверки:

Код: Выделить всё

    public class SelectionValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (value is string selectedItemString)
{
if (string.IsNullOrEmpty(selectedItemString))
{
return new ValidationResult(false, null);
}
}
else if (value == null || string.IsNullOrEmpty(value.ToString()))
{
return new ValidationResult(false, null);
}
else if (value is ComboBox comboBox)
{
if (comboBox.SelectedIndex == -1)
{
return new ValidationResult(false, null);
}
}

return new ValidationResult(true, null);
}
}
И да, я включил класс SelectionValidationRule в свой код XAML!

Подробнее здесь: https://stackoverflow.com/questions/786 ... t-selected
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как вернуть элемент ComboBox в главное окно, когда выбран элемент
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как вернуть элемент ComboBox в главное окно, когда выбран элемент
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Почему первый элемент содержимого файла CSV имеет символ красной звезды?
    Anonymous » » в форуме Php
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Swing jcombobox Получите предыдущий элемент, когда выбран новый элемент
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Почему col-auto с красной рамкой занимает больше высоты, чем доступное содержимое?
    Anonymous » » в форуме CSS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»