INotifyPropertyChanged.PropertyChanged immer NULL

Ich weiß, ich bin etwas falsch hier, aber was. Bitte haben Sie einen Blick und herausfinden, mein Fehler.

Sehe ich "Peter" in meiner textbox aber kein "Jack", nachdem die Schaltfläche klicken.

Meiner Klasse

namespace App
{
    class Person : INotifyPropertyChanged
    {
        private string name;
        public String Name
        {
            get { return name; }
            set { name = value; OnPropertyChanged("Name"); }
        }
    public Person()
    {
        Name = "Peter";
    }

    public void SetName(string newname)
    {
        Name = newname;
    }

    public event PropertyChangedEventHandler PropertyChanged;

    private void OnPropertyChanged(string prop)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(prop));
        }
    }
}

}

Meiner XAML -

<Window x:Class="test.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:app="clr-namespace:App"
    Title="MainWindow" Height="400" Width="400">
<Grid>
    <Grid.Resources>
        <app:Person x:Key="person"/>
    </Grid.Resources>
    <TextBox  Width="100" Height="26" Text="{Binding Source={StaticResource person}, Path=Name, Mode=TwoWay}" />
    <Button Content="Button" Height="23"  Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
</Grid>

Und meine codebehind

public partial class MainWindow : Window
{
    Person person;

    public MainWindow()
    {
        InitializeComponent();

        person = new Person();       
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        person.SetName("Jack");
    }
}

Dank.

Es gibt zwei Person(en). TextBox gebunden zur Person von Grid-Ressourcen, während die-Taste setzt den Namen der Person aus dem privaten Bereich. Ich glaube, Sie sollten eine Person als DataContext des Fensters. Dies wird klar, code und markup.
Möchten Sie vielleicht zu Lesen dieser & dieser, da Sie schon einige Verwirrungen, die in Ihren Bindungen und Ressourcen.

InformationsquelleAutor Core-One | 2011-04-22

Schreibe einen Kommentar