首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

WPF(倚赖属性)

2013-04-12 
WPF(依赖属性)using System.Windowsusing System.Windows.Controlsusing System.Windows.Datanamespace

WPF(依赖属性)

using System.Windows;using System.Windows.Controls;using System.Windows.Data;namespace TestOfFirstDependencyObject{    /// <summary>    /// Interaction logic for MainWindow.xaml    /// </summary>    public partial class MainWindow : Window    {        private Student stu;        public MainWindow()        {            InitializeComponent();            stu = new Student();            //Binding binding = new Binding("Text")            //                      {            //                          Source = textBox1            //                      };            //BindingOperations.SetBinding(stu, Student.NameProperty, binding);            stu.SetBinding(Student.NameProperty, new Binding("Text")                                                     {                                                         Source = textBox1                                                     });            textBox2.SetBinding(TextBox.TextProperty, new Binding("Name")                                                          {                                                              Source = stu                                                          });        }        private void Button_Click(object sender, RoutedEventArgs e)        {            //Student stu = new Student();            //stu.SetValue(Student.NameProperty,this.textBox1.Text);            //textBox2.Text = stu.GetValue(Student.NameProperty) as string;            //MessageBox.Show(stu.GetValue(Student.NameProperty).ToString());            //Student stu = new Student();            //stu.Name = textBox1.Text;            //this.textBox2.Text = stu.Name;        }    }    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 int Age        {            get { return (int)GetValue(AgeProperty); }            set { SetValue(AgeProperty, value); }        }        // Using a DependencyProperty as the backing store for Age.  This enables animation, styling, binding, etc...        public static readonly DependencyProperty AgeProperty =            DependencyProperty.Register("Age", typeof(int), typeof(Student), new UIPropertyMetadata(0));        public BindingExpressionBase SetBinding(DependencyProperty dp, BindingBase binding)        {            return BindingOperations.SetBinding(this, dp, binding);        }        public static readonly DependencyProperty IdProperty = DependencyProperty.Register("Id", typeof(int), typeof(Student));        public int Id        {            get { return (int)this.GetValue(IdProperty); }            set { this.SetValue(IdProperty, value); }        }        public string School        {            get { return (string)GetValue(SchoolProperty); }            set { SetValue(SchoolProperty, value); }        }        // Using a DependencyProperty as the backing store for School.  This enables animation, styling, binding, etc...        public static readonly DependencyProperty SchoolProperty =            DependencyProperty.Register("School", typeof(string), typeof(Student), new UIPropertyMetadata(""));            }}


热点排行