加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在运行时添加控件时,以编程方式绑定不起作用

发布时间:2020-12-16 01:37:45 所属栏目:百科 来源:网络整理
导读:我有两个TextBox,我想在运行时绑定它们的Visibility属性, 我通过Xaml添加TextBoxes时绑定工作,但是当我以编程方式添加它们时不起作用, 任何帮助!! public partial class Window1 : Window { TextBox txt1 = new TextBox(); TextBox txt2 = new TextBox(); pu
我有两个TextBox,我想在运行时绑定它们的Visibility属性,

我通过Xaml添加TextBoxes时绑定工作,但是当我以编程方式添加它们时不起作用,

任何帮助!!

public partial class Window1 : Window
    {
        TextBox txt1 = new TextBox();
        TextBox txt2 = new TextBox();
        public Window1()
        {
            InitializeComponent();

            txt1.Name = "txt1";
            txt1.Margin= new Thickness(30,128,0);
            txt1.VerticalAlignment = VerticalAlignment.Top;

            txt2.Name = "txt2";
            txt2.Margin = new Thickness(30,32,0);
            txt2.VerticalAlignment = VerticalAlignment.Top;

            Binding binding = new Binding();
            binding.ElementName = "txt1";
            binding.Path = new PropertyPath(TextBox.VisibilityProperty);
            BindingOperations.SetBinding(txt2,TextBox.VisibilityProperty,binding);


            grid.Children.Add(txt1);
            grid.Children.Add(txt2);
        }
    }

提前致谢

解决方法

更新

不要设置ElementName属性,只需将Binding的Source属性设置为要绑定到的Element对象.

TextBox txt1 = new TextBox();
TextBox txt2 = new TextBox();

public Window1()
{
   InitializeComponent();

   txt1.Name = "txt1";
   txt1.Margin = new Thickness(30,0);
   txt1.VerticalAlignment = VerticalAlignment.Top;
   txt1.Visibility = Visibility.Visible;

   txt2.Name = "txt2";
   txt2.Margin = new Thickness(30,0);
   txt2.VerticalAlignment = VerticalAlignment.Top;

   Binding binding = new Binding();
   binding.Source = txt1; // set the source object instead of ElementName
   binding.Path = new PropertyPath(TextBox.VisibilityProperty);
   BindingOperations.SetBinding(txt2,binding);

   grid.Children.Add(txt1);
   grid.Children.Add(txt2);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读