【问题标题】:How do you bind a TextBlock text in the MainWindow to a property in a seperate User Control?如何将 MainWindow 中的 TextBlock 文本绑定到单独的用户控件中的属性?
【发布时间】:2012-06-28 11:53:18
【问题描述】:

我在跨用户控件绑定时遇到问题。我有一个显示在整个应用程序上的通知栏,但我想使用绑定从用户控件的视图模型中更改其文本。我已经研究了很多方法,但我无法让它发挥作用。

每个 XAML 控件背后都没有代码,我在一个单独的类中创建了一个视图模型。然后在初始化时将其分配给 XAML 的数据上下文。

谁能帮忙解决这个问题?

【问题讨论】:

    标签: wpf xaml binding mvvm viewmodel


    【解决方案1】:

    我会使用某种事件系统,例如 MVVM Light 的 Messenger 或 Prism 的 EventAggregator

    这将允许包含通知消息的ViewModel 订阅和侦听ShowNotificationEvent 类型的事件,当它获得一个时,它可以设置值并显示通知。

    应用程序中希望显示通知的任何区域只需提出ShowNotificationEvent 并将消息传递给它即可显示

    【讨论】:

    • 谢谢!我已经实现了 EventAggregator 并让它工作了!
    【解决方案2】:

    你可以使用大棱镜的EventAggregatorhere is a tutorial how to implement it

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多