• wpf 自定义依赖性属性 作用之一 对数据绑定的支持


    依赖属性:定义,声明,注册 

    依赖属性,在数据绑定中,数据绑定,分为源对象(数据源)和目标对象(显示数据)。

    只有源对象为依赖对象,属性为依赖属性时,该属性才会在属性发生变化时,通知目标对象进行数据更改。

    依赖属性,具有对目标对象更改通知的功能。

    XAML

    <StackPanel>
    <TextBox Style="{StaticResource textStyle}" Height="37" Name="textBox1" FontSize="26" Margin="5" Width="439" />
    <TextBox Style="{StaticResource textStyle}" Height="37" Name="textBox2" FontSize="26" Margin="5" Width="439" />
    <Button Content="Button" Height="39" Name="button1" Width="131" Click="button1_Click" />
    </StackPanel>

    .CS

    namespace WPF_VIP_Characters
    {
    /// <summary>
    /// Interaction logic for DependProperty.xaml
    /// </summary>
    public partial class DependProperty : Window
    {
    public DependProperty()
    {
    InitializeComponent();
    }
    private void button1_Click(object sender, RoutedEventArgs e)
    {
    //Student stu = new Student();
    //stu.SetValue(Student.NameProperty, textBox1.Text);
    //textBox2.Text = (string)stu.GetValue(Student.NameProperty);

    Student stu = new Student();

    Binding binding = new Binding("Text") { Source = textBox1 };
    BindingOperations.SetBinding(stu, Student.NameProperty, binding);

    Binding binding2 = new Binding("Name") { Source = stu };
    BindingOperations.SetBinding(textBox2, TextBox.TextProperty, binding2);

    }
    }

    class Student:DependencyObject
    {
    //CLR属性进行封装
    public string Name
    {
    get { return (string)GetValue(NameProperty); }
    set { SetValue(NameProperty, value); }
    }
    //定义依赖属性/注册
    public static readonly DependencyProperty NameProperty = DependencyProperty.Register("Name", typeof(string), typeof(Student));
    }

    }

  • 相关阅读:
    状态模式作业
    建造者模式作业
    关于 IIS 上的 Speech 设置
    装饰模式作业
    《软件架构与设计模式》关于 抽象工厂模式 的一个小例子
    谈一谈为什么我要创建个人博客
    C#网站发布在IIS10上,Access数据库读取为空白的解决方案
    广义表 Head Tail
    c# asp.net4.0尚未在web服务器上注册
    装饰者模式(例子)
  • 原文地址:https://www.cnblogs.com/wwwfj/p/3645319.html
Copyright © 2020-2023  润新知