如何从MainWindow类外部访问标签?

时间:2016-12-06 19:50:19

标签: c# wpf

我有一个标签label1,我试图更新单独的班级Server()的内容。

我尝试通过以下方式将MainWindow()实例链接到我的Server()类:

//MainWindow constrcutor
Server.GetMainWindow(this);


//Server()
public static MainWindow mainWindow;

GetMainWindow(MainWindow mw)
{
       mainWindow = mw
}

这允许我查看属性mainWindow.Label.Content,但我不会看到""我运行代码时的更改。

我也尝试过另一种方式。

public MainWindow()
{
    Server.mainWindow = this;
}

但结果仍然相同。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

访问已打开的MainWindow实例的最简单方法是使用Application.Current.Windows集合:

MainWindow mainWindow = Application.Current.Windows.OfType<MainWindow>();
if (mainWindow != null)
   mainWindow.Label.Content = "...";

这应该使用x:名称“Label”更新Label的Content属性,该名称在MainWindow的XAML标记中声明。