目的:通过一个Student对象,实现前端两个TextBox输入值相同(此案例仅做实验,用于理解最简单的依赖属性用法,实际中不会这样用)
前端:
<Grid> <StackPanel> <TextBox x:Name="tbx" Width="100" Height="30" Background="LightBlue"/> <TextBox x:Name="tbx1" Width="100" Height="30" Background="LightBlue"/> </StackPanel> </Grid>
后台:
public partial class MainWindow : Window { Student stu = new Student(); public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender,RoutedEventArgs e) { stu.Name = tbx.Text; Binding bd = new Binding(); bd.Path = new PropertyPath("Text"); //bd.ElementName = "tbx";//注意!!!Source和ElementName不能同时使用. bd.source = tbx; bd.Mode = BindingMode.TwoWay; BindingOperations.SetBinding(stu,Student.NameProperty,bd); Binding bd2 = new Binding(); bd2.Path = new PropertyPath("Name"); bd2.source = stu; bd2.Mode = BindingMode.TwoWay; BindingOperations.SetBinding(tbx1,TextBox.TextProperty,bd2); } } public class Student : DependencyObject { public string Name { get { return (string)GetValue(NameProperty); } set { SetValue(NameProperty,value); } } public static readonly DependencyProperty NameProperty = DependencyProperty.Register("Name",typeof(string),typeof(Student)); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。