WPF动态控件生成查找不到问题

2012 08 10 遇到此类问题,已经找到解决方案 记录以备后用
 
动态往界面添加控件 在页面未显示的情况时,虽然对控件增加了id name等属性但是使用 TextBox txtOtherNation = visistCaseOperGrid.FindName("txtOtherNation") as TextBox;
      visistCaseOperGrid.Children.Add(rb);
//visistCaseOperGrid控件容器
//声明控件的是约定的控件类型
这是时候问题出现得到的我是空对象,因为此控件还没与被实例化
 
相应解决方案

                this.RegisterName("txtOtherNation", box); 进行注册
这时候在使用就可以得到预期的效果了
TextBox txtOtherNation = visistCaseOperGrid.FindName("txtOtherNation") as TextBox;
            if (txtOtherNation != null)
            {
                txtOtherNation.Visibility = Visibility.Visible;
            }
 
 
但是使用完毕,或者不再使用的时候需要进行 注销
   UnregisterName("txtOtherNation");
posted @ 2013-10-23 15:13  不起名字了  阅读(531)  评论(0编辑  收藏  举报