• WPF Demo14 依赖属性


    using System.Windows;
    
    namespace DependencyPropertyDemo1
    {
        public class Student:DependencyObject
        {
            public static readonly DependencyProperty NameProperty =
                DependencyProperty.Register("Name",typeof(string),typeof(Student));
    
            // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
            public static readonly DependencyProperty AgeProperty =
                DependencyProperty.Register("Age", typeof(int), typeof(Student));
    
            public string Name
            {
                get { return (string)GetValue(NameProperty); }
                set { SetValue(NameProperty, value); }
            }
            
            public int Age
            {
                get { return (int)GetValue(AgeProperty); }
                set { SetValue(AgeProperty, value); }
            }
        }
    }
    
    <Window x:Class="DependencyPropertyDemo1.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>
            <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="110,139,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="110,34,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="110,74,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
        </Grid>
    </Window>
    using System.Windows;
    
    namespace DependencyPropertyDemo1
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                Student stu = new Student();
                stu.Name = this.textBox1.Text;
                this.textBox2.Text = stu.Name;
            }
        }
    }
    

    用法二:

    using System.Windows;
    using System.Windows.Data;
    
    namespace DependencyPropertyDemo2
    {
        public class Student:DependencyObject
        {
            public static readonly DependencyProperty nameProperty =
                DependencyProperty.Register("Name",typeof(string),typeof(Student));
    
            public string Name
            {
                get { return (string)GetValue(nameProperty); }
                set { SetValue(nameProperty,value); }
            }
    
            public BindingExpressionBase SetBinding(DependencyProperty dp, BindingBase binding) 
            {
                return BindingOperations.SetBinding(this,dp,binding);
            }
        }
    }
    
    <Window x:Class="DependencyPropertyDemo2.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>
            <TextBox Height="23" HorizontalAlignment="Left" Margin="110,34,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="110,74,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
        </Grid>
    </Window>
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    
    namespace DependencyPropertyDemo2
    {
        /// <summary>
        /// MainWindow.xaml 的交互逻辑
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
    
                Student stu = new Student();
    
                stu.SetBinding(Student.nameProperty, new Binding("Text") { Source = this.textBox1});
    
                textBox2.SetBinding(TextBox.TextProperty, new Binding("Name") { Source = stu});
            }
        }
    }
    

  • 相关阅读:
    Qt5:快速设计对话框 QtDesigner 的使用
    Qt5:为菜单项添加图标 、 快捷键 和 状态栏 提示
    Qt5:在窗口上创建菜单栏
    Qt5:主窗口的创建 子类化QMainWindow
    AltiumDesigner设计快速入门
    AT24C02的MSP430驱动
    DSP_Builder设计方法说明_SinWave
    矩阵按键的MSP430驱动函数
    DAC8552使用说明
    PS2的FPGA解码模块
  • 原文地址:https://www.cnblogs.com/YYkun/p/6872122.html
Copyright © 2020-2023  润新知