zoukankan      html  css  js  c++  java
  • 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});
            }
        }
    }
    

  • 相关阅读:
    live555学习之RTSP连接建立以及请求消息处理过程
    RTSP协议学习笔记
    RTP头结构解析
    Doubango ims 框架 分析之 多媒体部分
    VMware虚拟机 NAT模式 配置静态ip
    计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解
    VMWare VMNet 8 的配置使用
    VMware虚拟机CentOS7
    如何禁止虚拟机自动获取DHCP分配的ip地址
    Linux之VMware虚拟机取消DHCP
  • 原文地址:https://www.cnblogs.com/YYkun/p/6872122.html
Copyright © 2011-2022 走看看