C # MVVM - как я могу предотвратить дублирование контента в множественном списке выбора? - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть пять ComboBox s, которые используют одинаковое содержимое перечисления.Каждый ComboBox не должен иметь одинаковое значение.

Если в блоке 1 выбрано содержимое «говядина», в блоке 2 выбрано содержимое «пиво».

И теперь я выбираю «пиво» ​​в полеодин, и оба содержимого должны переключаться.Я на самом деле использую метод с проверками как if, так и else (работающий, но очень скучный).

Есть ли более разумное решение?

Для каждого блока у меня есть один из этих триггеров иModel.BoxOneValue, Model.BoxTwoValue ...

private void OnBoxOneChange(PropertyChangedEventArgs e)
{

}

1 Ответ

0 голосов
/ 27 сентября 2018

Невозможно опубликовать полный ответ без этого xaml, но если вы можете передать его ComboBox через CommandParameter

public RelayCommand<object> BoxChangeCommand { get { return new RelayCommand<object>(OnBoxChange); } }
private void OnBoxChange(Object comboBox)
{
    ComboBox list = comboBox as ComboBox;
    if (list != null) {
        //do stuff
        var items = list.Items;
        var selectedItem = list.SelectedItem;
    }
}

, вам потребуется using System.Windows.Controls для ComboBox

Есть и другой способ, привязав ваш SelectedItem в xaml к вашей виртуальной машине, и вы можете нажать кнопку на внешнем интерфейсе и виртуальной машине, чтобы разобраться во всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...