当我首次在其构造函数中将标注分配给Label时,Label会正确绑定并根据CurrentMarket类的当前ComponentData值显示正确的信息。但是,当ComponentData更改时,OnPropertyChanged事件触发正常,但ProperyChanged处理程序始终为NULL。有人可以建议我做错了吗?
我有一个标签,我设置了这样的绑定:
public StyledLabel(string Property, int i)
{
Binding BindingText = new System.Windows.Data.Binding(Property);
BindingText.Source = Statics.CurrentMarket.ComponentData;
BindingText.Converter = new TextConverter();
this.SetBinding(Label.ContentProperty, BindingText);
}
目前的市场类别如下:
public class CurrentMarket : INotifyPropertyChanged
{
string sMarket = "";
ComponentData cComponentData;
public string Market
{
set
{
sMarket = value;
OnPropertyChanged("Market");
ComponentData = SharedBoxAdmin.Components[sMarket];
}
get
{
return sMarket;
}
}
public ComponentData ComponentData
{
get { return cComponentData; }
set
{
cComponentData = value;
OnPropertyChanged("ComponentData");
}
}
public CurrentMarket()
{
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string info)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(info));
}
}
}
谢谢!
答案 0 :(得分:3)
尝试将要绑定的属性名称指定为Path
的{{1}}(而不是Binding
的一部分):
Source