【发布时间】:2012-06-28 11:53:18
【问题描述】:
我在跨用户控件绑定时遇到问题。我有一个显示在整个应用程序上的通知栏,但我想使用绑定从用户控件的视图模型中更改其文本。我已经研究了很多方法,但我无法让它发挥作用。
每个 XAML 控件背后都没有代码,我在一个单独的类中创建了一个视图模型。然后在初始化时将其分配给 XAML 的数据上下文。
谁能帮忙解决这个问题?
【问题讨论】:
标签: wpf xaml binding mvvm viewmodel
我在跨用户控件绑定时遇到问题。我有一个显示在整个应用程序上的通知栏,但我想使用绑定从用户控件的视图模型中更改其文本。我已经研究了很多方法,但我无法让它发挥作用。
每个 XAML 控件背后都没有代码,我在一个单独的类中创建了一个视图模型。然后在初始化时将其分配给 XAML 的数据上下文。
谁能帮忙解决这个问题?
【问题讨论】:
标签: wpf xaml binding mvvm viewmodel
我会使用某种事件系统,例如 MVVM Light 的 Messenger 或 Prism 的 EventAggregator
这将允许包含通知消息的ViewModel 订阅和侦听ShowNotificationEvent 类型的事件,当它获得一个时,它可以设置值并显示通知。
应用程序中希望显示通知的任何区域只需提出ShowNotificationEvent 并将消息传递给它即可显示
【讨论】:
你可以使用大棱镜的EventAggregatorhere is a tutorial how to implement it
【讨论】: