WPF中動態(tài)創(chuàng)建和刪除控件

WPF中動態(tài)創(chuàng)建和刪除控件

2012-04-25 15:30閱讀:1,949

動態(tài)創(chuàng)建控件

1.容器控件.RegisterName('Name',要注冊的控件) //注冊控件

2.容器控件.FindName('Name') as 控件類型 //找到控件并轉(zhuǎn)換成相應(yīng)類型

注意:僅通過 控件.Name來設(shè)置是不能通過FindName來找到控件的,必須注冊

動態(tài)刪除控件

1.容器控件.Children.Remove(控件) //移除控件

2.容器控件.UnregisterName('Name') //取消注冊

其它設(shè)置

1.控件.SetValue(Grid.RowProperty, 0); //設(shè)置控件在Grid面板中的行數(shù)

控件.SetValue(Grid.ColumnProperty, 1); //設(shè)置控件在Grid面板中的列數(shù)

2.Canvas.SetLeft('控件名', 50); //設(shè)置控件在Canvas面板中的橫坐標(biāo)

Canvas.SetTop('控件名', 50); //設(shè)置控件在Canvas面板中的縱坐標(biāo)

eg:

當(dāng)點擊Button_Add按鈕的時候在Canvas里添加一個Button;

當(dāng)點擊Button_Remove的時候把這個新加的Button移除;

設(shè):Canvas 的Name為 canvas

復(fù)制代碼X

private void Button_Add_Click(object sender, Syste m.Windows.RoutedEventArgs e)

{

Button btn = new Button();

//btn.Name = 'newButton';//這里設(shè)置的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);//移除對應(yīng)按鈕控件

canvas.UnregisterName('newButton');//還需要把對用的名字注銷掉,否則再次點擊Button_Add會報錯

}

} ?復(fù)制代碼<

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容