【问题标题】:Refresh a label on WPF page [closed]刷新WPF页面上的标签[关闭]
【发布时间】:2014-04-15 09:58:30
【问题描述】:

如何刷新 WPF 页面上的标签。

标签基本上显示有多少个代理,所以当我把所有用户的详细信息放入并单击创建用户时。当我单击按钮时,我需要在该页面上刷新标签。

我已尝试将内容设置为 null,然后重新加载数据。

int NumberOfAgents = _Users.Where(w => w.RoleID == _Role.FirstOrDefault(a => a.RoleType == "Agent").RoleID).ToList().Count();

lblCountAgent.Content=null 
lblCountAgents.Content = NumberOfAgents.ToString();

但这似乎不起作用。

如果有人能帮我解决这个问题,那就太好了。

【问题讨论】:

  • 应该可以。在调试中 NumberOfAgents 的值是多少?
  • 你确定NumberOfAgents > 0?
  • 您的代码看起来应该可以工作。您是否已验证 NumberOfAgents 变量是否正确?
  • 只使用数据绑定。顺便说一句,设置值时有一个尾随的 S 字母。
  • @Ben,你问如何让你的标签刷新。如果值相同,UI 会发生什么变化?

标签: wpf xaml refresh


【解决方案1】:

您的代码似乎没问题,NumberOfAgents 可能不是您认为的那样,应该在调试器中检查。

附带说明,请不要在 WPF 中以这种方式编码。您不应该以编程方式设置诸如“内容”之类的属性,而且大多数时候您根本不应该以编程方式设置属性。

相反,标签的“Content”属性应绑定到 ViewModel 类中的“NumberOfAgents”属性,然后可以在创建用户时设置(引发 PropertyChanged)。这将通过绑定系统在 UI 中传播。这是关于如何使用 WPF 设置 MVVM 的 MSDN tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-21
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 2011-08-21
    • 2012-02-26
    相关资源
    最近更新 更多