在两个不同的WPF Windows中更新两个标签

时间:2014-11-10 17:07:45

标签: c# .net wpf

我最近在Windows窗体中构建了一个Volley Scoreboard应用程序,我正在尝试将其转换为WPF。

我的第一个窗口拥有管理游戏的所有控件,而第二个窗口是将在大屏幕上投影的窗口。

在Windows窗体中,我能够从代码中的单个点更新两个标签(例如,Main和Projected上的home_score),但我似乎没有找到在WPF中执行此操作的方法。

我有什么机会错过了什么?相对较新的WPF。

2 个答案:

答案 0 :(得分:1)

如果两个页面(视图)使用相同的视图模型是有意义的;它听起来可能是你的用例,那么答案很简单:

  

将两个标签(实际上,TextBlock s)绑定到同一属性。当。。。的时候   财产更新;绑定引擎将更新两个UI。

如果那不是一个选择; "主人" View Model可以在Model上调用一个引发事件的方法(ScoreUpdated)。 "显示" View Model将注册此事件并更新相应的属性,以便其View将接收更改。

答案 1 :(得分:0)

你需要:

  1. 在xaml中命名标签(可能是TextBlock)(Name =" ScoreLabel")
  2. 保留对窗口实例的引用。
  3. 之后:

    otherWin.ScoreLabel.Text = "123";