我有WPF应用Prism和mvvm体系结构在1模块我有一个树视图和其他模块我有textbox.Both模块加载正常。 我想要做的是 - 点击treeview节点。 - 在viewmodel中设置当前选定的对象。 - 也发生事件(或其他事件)并将节点值设置为其他模块中的文本框设置属性从其他模块棱镜
前两点正常工作。 它的第三我不能弄清楚。
这是我的treeview代码。
<TreeView Name="TreeViewTest" Grid.Row="1" Grid.Column="0" ItemsSource="{Binding Path= TestObservable}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected}" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}" Tag="{Binding Id}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
代码我在哪里设置选定的对象。
private bool _selected = false;
public bool IsSelected
{
get
{
return _selected;
}
set
{
if (_selected == value) return;
_selected = value;
NotifyPropertyChanged("IsSelected");
this._selectedItem = this;
RaisePropertyChanged(() => Name);
}
}
并且viewmodel isSelected是实际绑定树视图模块的主视图模型的子Viewmodel。
这个消息是绝对如下
public interface ITreeViewModel
{
ITreeViewModelView { get; }
ObservableCollection<IChildTreeViewModel> TestObservable{ get; set; }
}
任何帮助将是巨大的