是否可以从静态方法写入非静态标签

时间:2014-11-04 19:01:07

标签: c#

我在这里阅读了很多关于从静态方法访问标签和UI元素的问题,但我还没有找到任何可以应用于我的项目的解决方案。

在我的应用程序的主窗口中,我有一个方法在另一个类中调用另一个方法。该方法同步一些XML读数并将它们存储到本地文件中。

这就是我希望它的行为

我从命名空间内的任何地方调用此方法(位于我的MainWindow源文件中):

public static async void UpdateAllLocalFeedsAsync()
{
   lblStatusBar.Content = "Working-working etc...";

   var result = await ThisFunctionsSyncronizesXmlWithLocalFiles(Parameter);

   lblStatusBar.Content = "The job has been done.";

打印一些信息,告诉用户将要发生什么,做些什么,并告诉用户它已经完成。

此时,只要我排除了lblStatusBar-rows,一切都像丝绸一样顺畅。但正如预期的那样,当我尝试更改标签中的内容时,我收到以下错误:

  

无法在静态上下文中访问非静态字段“lblStatusBar”

如果我尝试使这些方法非静态,那么异步/等待能力似乎失败了,要求它们是静态的。

但我确实找到了this answer,这里就是SO ......

static void SetTextboxTextSafe(int result) 
{
   label1.Text = result.ToString();
}

...我很遗憾不明白如何在标签上申请。如果我不够清楚,我很抱歉,但我希望你理解我的问题。

0 个答案:

没有答案