WPF 中動態創建和刪除控件


動態創建控件

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會報錯   
         }  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM