我正在使用自己的扩展名保存文件,它只是XML。当我打开文件时,我解析数据并将其分配给我的公共属性,并将其分配给我的私有字段。我已经逐步完成了代码,可以看到所有的分配都在进行,但无法弄清楚为什么 UI 没有被更新。我有INotifyPropertyChanged
,我正在呼叫OnPropertyChanged
。我只发布了代码的相关部分。
感谢任何帮助。
<TextBox Name="PersonsName" Width="150" Height="20"
Text="{Binding Path=PersonName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
VerticalAlignment="Top" HorizontalAlignment="Left" Margin="50, 30, 0, 0"
IsEnabled="{Binding SetState, UpdateSourceTrigger=PropertyChanged}"/>
public string PersonName
{
get { return _personName; }
set
{
_personName = value;
OnPropertyChanged("PersonName");
}
}
public static void ParseSavedConfigurationFromDoc(XDocument doc, ButtonLockViewModel person)
{
XElement generalElement = doc.Element("SavedPerson");
person.PersonName = generalElement.Attribute("Name").Value;
person.PersonAge = generalElement.Attribute("Age").Value;
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}