所以我有一个看起来像这样的TreeView:
<TreeView Name="elementTreeView"
ItemsSource="{Binding Elements}"
Width="Auto"
SelectedValuePath="Path" />
Run Code Online (Sandbox Code Playgroud)
我还有一个TextBlock定义如下:
<TextBlock Text="{Binding ElementName=elementTreeView, Path=SelectedValue}" />
Run Code Online (Sandbox Code Playgroud)
我的ModelView非常基本,包含您期望的内容.我正在寻找的是一种将我的ViewModel中的属性绑定到SelectedValue的方法.现在,文本块显示我需要的内容.有没有简单的方法来绑定这个属性?
事实证明,这是没有完全正确遵循 MVVM 模式的结果。解决方案是仅使用一个 ViewModel 对象。在 ViewModel (其类型为 ElementViewModel)对象内部,我有类似的内容:
public ElementViewModel Element {
get {
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我的 TreeView 声明看起来像这样:
<TreeView Name="treeView"
ItemsSource="{Binding Elements}"
Width="Auto"
SelectedValuePath="Element" />
Run Code Online (Sandbox Code Playgroud)
之后,我所要做的就是绑定到另一个视图中的 Element 。