更改MVVM模式中按下的特定键的视图

时间:2016-06-07 11:49:21

标签: c# wpf xaml mvvm

我正在使用WPF和MVVM模式构建一个小应用程序。特别是,我想在TreeView中显示结构化数据。为了简单起见,我们假设我创建了一个定义

的接口IParentVM
ObservableCollection<IParent> ListOfChildren { get; }

作为ItemsSource并在几个类中实现此接口,比如ClassA和ClassB。这些类具有更多属性,两个常见属性是

string Alias {get; set; }
string Comment { get; set; }

为了根据项目类型(其类)设置TreeView样式,我还创建了相应的分层DataTemplates。一切都按预期工作:我能够在TextBox中为ClassB中的ClassA和Italic以粗体显示Alias的内容,并在两个类的工具提示中显示Comment的内容。

我的问题如下:是否可以在HierarchicalDataTemplates中添加某种EventTriggers,以便我可以使用绑定到注释的不同TextBox,这样我的整个TreeView将显示所有Comments而不是Aliases按键是什么?

1 个答案:

答案 0 :(得分:0)

我猜你可以做点什么&#34;快速而丑陋&#34;。 在数据模板中添加绑定到注释的TextBox。 然后,将此TextBox的可见性绑定到ViewModel中的布尔值。

最后,当按下您的键时,触发VM中的命令,该命令将更新布尔值,因此更新Visibility绑定的UI。

它不是很花哨,但应该有效:)