【问题标题】:Windows Phone simple data binding issueWindows Phone 简单数据绑定问题
【发布时间】:2011-07-29 15:31:16
【问题描述】:

这是我的 XAML 代码:

<TextBlock x:Name="subTitle" Text="{Binding Name}" />

还有我的 C# 代码:

PropertyInfo pi = ...;
subTitle.DataContext = pi;

TextBlock 什么都不显示。

没有 DataContextChanged 事件,但 TextBlock 会收到有关更改的通知,因为如果我从绑定表达式中省略路径“名称”,我将获得 DataContext 的 ToString() 表示。我无法访问绑定对象的任何属性。没有用于调试的工具,我花了几个小时来解决这个小而严重的问题。

请帮我解决这个问题。这是一个错误还是我错过了什么?非常感谢。

【问题讨论】:

    标签: silverlight data-binding windows-phone-7 reflection


    【解决方案1】:

    我猜PropertyInfo.Name 不是依赖属性和/或它没有实现INotifyPropertyChanged

    创建您自己的视图模型对象(实现 INotifyPropertyChanged)并将其用于将值绑定到视图。

    【讨论】:

    • 当 DataContext 更改时,我认为 Silverlight 使绑定无效并通过反射找到 Path 子句中指定的属性。对象的每个成员都是在绑定发生之前设置的。
    • 我刚刚创建了一个实现 INotifyPropertyChanged 的​​类。它按我的预期工作,但我仍然不知道为什么需要这样做。为什么不能发生一次性绑定???我每天都更讨厌 Silverlight(在 WPF 之后)。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 2012-09-11
    相关资源
    最近更新 更多