Мой код: XAML:
<Window x:Class="BindingTut.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">
<Grid>
<StackPanel>
<TextBox Text="{Binding FirstName}"/>
<Button Content="Button" Height="23" Name="button1" Width="75" Click="button1_Click" />
</StackPanel>
</Grid>
</Window>
Класс клиента:
public class Customer
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Код позади:
public partial class MainWindow : Window, INotifyPropertyChanged
{
private int index = 0;
public Customer Tmp;
List<Customer> ar = new List<Customer>();
public MainWindow()
{
InitializeComponent();
ar.Add(new Customer { FirstName = "qwe", LastName = "rty" });
ar.Add(new Customer { FirstName = "asd", LastName = "asd" });
this.Tmp = ar[index];
this.DataContext = this.Tmp;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
this.Tmp = ar[++index];
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs("Tmp"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
Поэтому, когда приложение загружается, все в порядке -текстовое поле показывает «qwe», но кнопка, которая должна загрузить второй объект клиента, не работает.Что я делаю не так?