c# - 如何从静态方法内部更新控件(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'
解决方案
创建一个包含 TextBlock1 控件的静态属性。TextBlock1 的窗口可以初始化它,例如,在“加载”事件中或您认为正确的任何其他地方。
考虑从适用于非静态对象的方法中删除静态修饰符。
推荐阅读
- elf - 为什么 readelf 报告的符号大小与 objdump 不同
- java - 用于大容量数据的数据摄取管道
- c# - 为什么IDispose模式是这样实现的?
- c++ - c++:不能修改类对象参数
- python - 无法处理 urllib.error.HTTPError: HTTP Error 403: Forbidden even added User-Agent
- sql-server - SSMS 中的不可读字符
- android - 如何检测其他应用程序何时正在播放并停止我的媒体播放器
- javascript - 是否可以为 Kendo UI 气泡图系列添加新的传入数据?
- bash - 从文件中解析环境变量
- html - CSS:如何使表格单元格自动缩小或扩大以使表格保持其大小?