【问题标题】:WPF UI not updating when binding to StaticResource绑定到 StaticResource 时 WPF UI 不更新
【发布时间】:2013-07-21 11:46:43
【问题描述】:

我已经完全按照http://msdn.microsoft.com/en-us/library/ms743695.aspxhttp://msdn.microsoft.com/en-us/library/aa970451.aspx 中的示例进行了操作。

在我的例子中,我有一个 Content 绑定到 Name 属性的标签。

 <Label  Name="lblName" Content="{Binding Source={StaticResource myDataSource}, Path=Name}"/>

页面上有一个文本框和一个按钮。该按钮的代码隐藏是

Dim p As New Person
p.Name = txtbox1.Text

单步执行代码,我看到 OnPropertyChanged 被调用,然后是具有正确 personName 值的 Setter。运行后,页面上的标签仍为原始值。我想我错过了一些非常简单的东西,但经过大量搜索和反复试验后无法让它发挥作用。非常感谢任何帮助。

【问题讨论】:

    标签: wpf binding controls


    【解决方案1】:

    在您的构造函数中执行此操作

    Me.DataContext = myDataSource

    【讨论】:

    • 我将它添加到 Page 构造函数中,但它不编译 'myDataSource' 未声明。由于其保护级别,它可能无法访问。 myDataSource 在 XAML 中定义
    【解决方案2】:

    您背后的代码是创建一个人,而不是使用myDataSource中的实例。

    'This creates a new instance - you need to set "myDataSource.Name" instead
    Dim p As New Person
    

    【讨论】:

    • 谢谢。我将 p.Name = txtbox1.Text 更改为 myDataSource.Name 但无法编译
    • 我将 p.Name = txtbox1.Text 更改为 myDataSource.Name = txtbox1.Text 但未声明未编译的“myDataSource”。由于其保护级别,它可能无法访问。 myDataSource 在 XAML 中定义
    • 谢谢!这适用于 Click 方法 Dim o As Object = Me.PageOne.Resources("myDataSource") o.PName = txtName.Text
    猜你喜欢
    • 2014-03-04
    • 2011-03-31
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多