如何从另一个wpf窗口更改WPF窗口的标签文本

时间:2013-02-11 10:44:28

标签: c# wpf

我有一个Page Call Page 1,第一页有1个Controls  - 标签   - 按钮

点击按钮我将打开新的Wpf窗口,其中有一个按钮,点击该按钮,我想更改第一个窗口标签文本。

LobbyStandardPopupView objLobbyStandardPopupView = new LobbyStandardPopupView();
objLobbyStandardPopupView.Show();

LobbyStandardView objLobbyStandardView = new LobbyStandardView();
objLobbyStandardView.Ring_Game.Text = "Hello";

我尝试创建对象并更改控件值但不受影响。

1 个答案:

答案 0 :(得分:6)

在你的通话窗口:

ChildWindow w = new ChildWindow ();
w.Owner = this; //here your calling window
w.Show();

在您的子窗口上:

(this.Owner as YourMainWindow).YourProperty  = "Your Text";

Owner属性是一个Window,因此如果要访问自定义属性,则必须强制转换为窗口类型。

在您的情况下,使用Page,将此属性添加到LobbyStandardPopupView

 public LobbyStandardView mycallingpage = null;
 public LobbyStandardPopupView(LobbyStandardView callingPage)
 {
     InitializeComponent();
     mycallingpage = callingPage;
 }

并在您的按钮事件中:

mycallingpage.Ring_Game.Text = "Hello";