Привязать свойство WPF ComboBox SelectedValue к нескольким объектам

Допустим, у меня есть список клиентов (List), и у каждого клиента есть свойство State.

Можно ли связать SelectedValue ComboBox, чтобы он отображал (имеет SelectedValue), например. «WA», если все клиенты имеют WA в качестве своего состояния?

Если у клиентов разные значения состояния, ничего не отображается. Но если я затем выберу ИЛИ, тогда все клиенты должны установить свое состояние на это значение.

Я добился этого через ValueConverter, где я использую метод Convert для возврата значения свойства State, если они все одинаковы, и null, если нет. В этом методе параметр-значение представляет собой список...

Но в методе ConvertBack у меня нет доступа к объекту списка, но я могу установить объект параметра для объекта списка в XAML при настройке привязки, а затем вручную установить свойство состояния для всех клиентов, но это просто не не чувствую себя хорошо!

Есть ли другой способ сделать это?


person Kenneth Kryger Sørensen    schedule 23.07.2009    source источник
comment
Ну, это не сработало - видимо, вы не можете добавить ту же самую привязку к ConverterParameter и SelectedValue ComboBox... :( Думаю, мне придется сделать XAML-привязку, если я не могу найти другой способ сделать это.   -  person Kenneth Kryger Sørensen    schedule 23.07.2009


Ответы (1)


Что ж, забыл обновить этот квест своим решением.

В моем ValueConverter у меня есть параметр частного списка, куда я добавляю всех выбранных клиентов, если у них есть одно и то же свойство State.

Затем в методе ConvertBack я просто обновляю состояние всех объектов Customer в списке...

person Kenneth Kryger Sørensen    schedule 28.05.2010
comment
Просто хотел поддержать ваше решение. Думаю, я бы тоже так к этому отнесся. - person MojoFilter; 28.05.2010