2013-07-25 4 views
0

В XAML:Как связать ItemSource и SelectedItem со строкой в ​​ComboBox?

<ComboBox x:Uid="ComboBox_1" ItemsSource="{Binding Path=Companies}" SelectedItem="{Binding Path=Company}"/> 

В ViewModel:

public ObservableCollection Companies { get; private set; } 
public string Company{ get; private set; } 

И я добавлю единую компанию в список компаний в ViewModel конструктору

Но это не работает, и весь XAML сбой.

Не знаю, почему ....

Может кто-нибудь сказать мне причину, спасибо заранее

+2

Что такое сообщение об ошибке при сбое и почему частный набор? – Nitesh

+3

Каков тип элементов в 'ObservableCollection '? – Dennis

+0

Удалите частный набор в этой строке. Public string Company {get; частный набор; } –

ответ

0

по умолчанию «BindingMode Enumeration» для ComboBox является «TwoWay», это хороший знак ваш Xaml падает , поскольку он дает вам знать (по-своему ...): «Эй, я пытаюсь привязать ViewModel к модели, это режим двусторонней привязки, но модель представления говорит, что он не хочет участвовать».

Другими словами, свойства виртуальной машины наиболее общедоступны для работы вашего кода. Посвятите несколько минут

Если вы хотите режим односторонний, только чтобы получить материал из модели представления к представлению, но не наоборот, вы можете это сделать:

В том, что Если вы можете оставить свою модель просмотра как есть.

Смежные вопросы