摘自《WPF深入浅出》
XAML=========================:
<Window x:Class="WpfApplication18.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication18"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button x:Name="button" Content="Button" HorizontalAlignment="Left" Height="91" Margin="59,103,0,0" VerticalAlignment="Top" Width="406" Click="button_Click"/>
<TextBox x:Name="textBox_1" HorizontalAlignment="Left" Height="82" Margin="59,10,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="406"/>
</Grid>
</Window>
CS==================:
u==sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication18
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
//方法1:
//准备数据源
Class_Student_me = new Class_Student();
//准备绑定Binding
Binding binding_1 = new Binding();
binding_1.Source = Class_Student_me;
binding_1.Path = new PropertyPath("Name");
//使用bangding连接数据源与Binding目标
BindingOperations.SetBinding(this.textBox_1,TextBox.TextProperty, binding_1);
//方法2:
this.textBox_1.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = Class_Student_me = new Class_Student() { Name="666"} });
}
Class_Student Class_Student_me = new Class_Student();
private void button_Click(object sender, RoutedEventArgs e)
{
Class_Student_me.Name += "Name";
}
}
}
类=======================:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
namespace WpfApplication18
{
class Class_Student : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string name;
public string Name
{
get { return name; }
set
{
name = value;
//激发事件
if (this.PropertyChanged != null)
{
this.PropertyChanged.Invoke(this,new PropertyChangedEventArgs("Name"));
}
}
}
}
}