我有這個奇怪的問題。我所擁有的是我的XAML中的單個文本框,綁定到Person
類。當我在Person
類中實現iNotifyPropertyChanged
時,Visual Studio XAML設計器崩潰,如果我只是運行該項目,我會得到StackOverflow異常。爲簡單的Person類實現iNotifyPropertyChanged會導致VisualStudio XAML設計器崩潰
當我刪除iNotifyPropertyChanged
一切工作正常和文本框被綁定到Person類的名字字段。
這是我的XAML,沒有什麼特別的,只是一個數據綁定文本框
<Window x:Class="DataBinding_WithClass.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:c="clr-namespace:DataBinding_WithClass">
<Grid x:Name="myGrid" >
<Grid.Resources>
<c:Person x:Key="MyPerson" />
</Grid.Resources>
<Grid.DataContext>
<Binding Source="{StaticResource MyPerson}"/>
</Grid.DataContext>
<TextBox Text="{Binding FirstName}" Width="150px"/>
</Grid>
</Window>
這是我的Person類,在同一個項目:
public class Person: INotifyPropertyChanged
{
public string FirstName
{
get
{ return FirstName; }
set
{
FirstName = value;
OnPropertyChanged("FirstName");
}
}
public event PropertyChangedEventHandler PropertyChanged;
// Create the OnPropertyChanged method to raise the event
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
我已經試過
重啓視覺Studio 2012(在Windows 7 Home Premium 64Bit上運行)
開始新的空白項目 - 同樣的問題
它太奇怪了,沒有INotifyPropertyChanged的一切都很好,但後來我的文本框不會得到更新爲名字我* 人 *一流的變化....
你遇到過這個問題嗎?
這就像魔法....現在我可以睡得安穩今晚!留言Merci –