C# 动态创建控件时注册Name属性
動態創建控件
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 移除;
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會報錯 } }注意
1、如果想在后臺想通過 .FindName("") 找到新創建的控件,必須使用 .RegisterName("名字",控件);
2、如果想在后臺使用 控件的Name屬性,必須在創建時給它設置 控件.Name 的值;
往期推薦
·??C# 數據流
·??C# 類型系統
·??C# 面向對象的編程
·??C# 執行 SQL 語句
·??C# 連接數據庫
·??C# 迭代器
Love life,love yourself
關注小編不迷路呦~
總結
以上是生活随笔為你收集整理的C# 动态创建控件时注册Name属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABP vNext微服务架构详细教程——
- 下一篇: C# Dispose模式