Wpf 是否在视图模型上更新属性而不执行代码隐藏?

Wpf 是否在视图模型上更新属性而不执行代码隐藏?,wpf,data-binding,treeview,Wpf,Data Binding,Treeview,我在一个Combobox控件中使用TreeView。我有一个ViewModel对象,它是我的窗口的DataContext 我希望发生的是,当treeview/combobox中的选定项发生更改时,我希望ViewModel上的属性使用该选定项进行更新。理想情况下,我希望能够在xaml中完全做到这一点,但我不太清楚如何做到这一点 该控件具有SelectedTreeViewItem依赖项属性,因此基本上我希望将该属性绑定到ViewModel对象上的依赖项属性,但我不知道具体需要执行什么操作?事件触发器

我在一个Combobox控件中使用TreeView。我有一个ViewModel对象,它是我的窗口的DataContext

我希望发生的是,当treeview/combobox中的选定项发生更改时,我希望ViewModel上的属性使用该选定项进行更新。理想情况下,我希望能够在xaml中完全做到这一点,但我不太清楚如何做到这一点

该控件具有SelectedTreeViewItem依赖项属性,因此基本上我希望将该属性绑定到ViewModel对象上的依赖项属性,但我不知道具体需要执行什么操作?事件触发器?。绑定只能是一种方式,因为我只希望视图模型的属性反映控件中当前选择的内容;我不需要从视图模型中更改控件当前选定的项。我对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>
编辑:


将模式从OneWay更改为OneWay ToSource有效。

只需使用BindingMode=OneWay将SelectedTreeViewItem绑定到ViewModel的属性。标准绑定应该可以很好地实现这一点。

将模式从单向更改为单向转换为源工作正常

    <local:TreeViewCombo
        x:Name="encounterCodeSelector"
        ItemsSource="{Binding Path=EncounterCodes}"
        ItemTemplate="{StaticResource EncounterCodesTemplate}"             
        Style="{StaticResource TreeViewInComboBox}"
        SelectedTreeViewItem="{Binding Path=SelectedEncounterCode, Mode=OneWayToSource}"
        Canvas.Left="171" Canvas.Top="377" Width="456">
    </local:TreeViewCombo>

什么是标准装订?标签?我试过了,vs.net抱怨说要么我把它放错了位置,要么用错了。