動態創建的 還沒有加到UI 上的自定義控制元件,查找不到它的子控制元件。用 VisualTreeHelper 不起作用,查找不到,有什么辦法能查找到動態創建的控制元件的子控制元件?
如
UserControl1 c = new MyUserControl(){ Content=new Grid()} ;
var f= c.IsInitialized;// is true
var btn= FindChildren<Grid>(c).ToList();//count =0 意思就是沒有找到。這里是用的VisualTreeHelper 來查找的
Debug.Print("name:"+b.Name);
b.Name = "ttt";
}
。用FindName(...) 也沒有效果。(要找自定義控制元件的子控制元件,并且是在這個子控制元件沒InitializeComponent 部分的情況下)。
如:
public UserControl1()
{
// InitializeComponent();
Grid GridContainer = new Grid() { Name="yy9999"} ;
var n = GridContainer.FindName("yy9999");//是NULL
或者 System.Windows.NameScope.SetNameScope(GridContainer, new System.Windows.NameScope());
RegisterName("ggg", GridContainer);//報錯。。。。因為沒有InitializeComponent()?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/251071.html
標籤:C#
下一篇:求一個正則運算式~
