WPF最简单程序演示数据绑定Binding

摘自《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"));
                }
            }
        }
    }
}

发布了42 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u014090257/article/details/102812580