首页 > 解决方案 > 如何从静态方法内部更新控件(TextBlock)

问题描述

我已经阅读了有关该主题的其他主题,但我没有快乐。

我正在尝试从静态方法UpdateTextBlock内部更新我的 wpf TextBlock 的内容,该方法需要是静态的,因为我是从 Timer 内部调用它,并且它只会在它是静态的情况下工作。


public static void UpdateTextBlock()
{
            foreach (String s in GetWhoList())
            {
                TextBlock1.Inlines.Add(s);
            }
}

基本上需要找到一种方法将 TextBlock1 引用到我认为它出现的对象。努力让我了解它的方法。我知道它不知道要引用什么,因为它是静态的,但不确定将其绑定到我的 Windows 应用程序中的 TextBlock 的命令。

我正在生成错误代码CS0120

An object reference is required for the non-static field, method, or property 'MainWindow.TextBlock1'

标签: c#wpfobjectstatic

解决方案


创建一个包含 TextBlock1 控件的静态属性。TextBlock1 的窗口可以初始化它,例如,在“加载”事件中或您认为正确的任何其他地方。
考虑从适用于非静态对象的方法中删除静态修饰符。


推荐阅读