動態創建控件
1.容器控件.RegisterName("Name",要注冊的控件) //注冊控件
2.容器控件.FindName("Name") as 控件類型 //找到控件並轉換成相應類型
注意:僅通過 控件.Name來設置是不能通過FindName來找到控件的,必須注冊
動態刪除控件
1.容器控件.Children.Remove(控件) //移除控件
2.容器控件.UnregisterName("Name") //取消注冊
其它設置
1.控件.SetValue(Grid.RowProperty, 0); //設置控件在Grid面板中的行數
控件.SetValue(Grid.ColumnProperty, 1); //設置控件在Grid面板中的列數
2.Canvas.SetLeft("控件名", 50); //設置控件在Canvas面板中的橫坐標
Canvas.SetTop("控件名", 50); //設置控件在Canvas面板中的縱坐標
eg:
當點擊Button_Add按鈕的時候在Canvas里添加一個Button;
當點擊Button_Remove的時候把這個新加的Button移除;
設:Canvas 的Name為 canvas
private void Button_Add_Click(object sender, System.Windows.RoutedEventArgs e) { Button btn = new Button(); //btn.Name = "newButton";//這里設置的Name是找不到的 btn.Width = 100; btn.Height= 50; canvas.Children.Add(btn); canvas.RegisterName("newButton", btn);//注冊名字,以便以后使用 } private void Button_Remove_Click(object sender, RoutedEventArgs e) { Button btn = canvas.FindName("newButton") as Button;//找到剛新添加的按鈕 if (btn != null)//判斷是否找到,以免在未添加前就誤點了 { canvas.Children.Remove(btn);//移除對應按鈕控件 canvas.UnregisterName("newButton");//還需要把對用的名字注銷掉,否則再次點擊Button_Add會報錯 }