Я использую TreeView внутри элемента управления Combobox (от here). У меня есть объект ViewModel, который является DataContext моего окна.Обновить свойство на модели просмотра без кода?
Что бы я хотел, чтобы произошел, когда выбранный элемент в дереве/комбобоксах изменился, я хочу, чтобы свойство на моем ViewModel обновлялось с выбранным элементом. В идеале я хотел бы сделать это полностью в xaml, но я не могу понять, как это сделать.
Элемент управления имеет свойство зависимостей «SelectedTreeViewItem», поэтому в основном я хочу привязать это свойство к свойству зависимости на моем объекте ViewModel, но я не знаю, что именно мне нужно сделать (Trigger? EventTrigger?). Связывание должно быть только одним способом, поскольку я просто хочу, чтобы свойство моей модели представления отображало то, что в данный момент выбрано в элементе управления; Мне не нужно менять выбранный элемент элемента управления из моей модели представления. Я все еще довольно новичок в WPF.
Вот код моего элемента управления, пытающийся связать свойство SelectedTreeViewItem с свойством в моей модели представления. Это не работает, свойство в моей модели просмотра всегда равно нулю.
<local:TreeViewCombo
x:Name="encounterCodeSelector"
ItemsSource="{Binding Path=EncounterCodes}"
ItemTemplate="{StaticResource EncounterCodesTemplate}"
Style="{StaticResource TreeViewInComboBox}"
SelectedTreeViewItem="{Binding Path=SelectedEncounterCode, Mode=OneWay}"
Canvas.Left="171" Canvas.Top="377" Width="456">
</local:TreeViewCombo>
Edit:
Изменение режима из "OneWay" до "OneWayToSource" работал.
Что такое «стандартная привязка»? бирка? Я пробовал это, и vs.net жалуется, что либо я помещаю его в неправильное место, либо неправильно его использую. –
Joe