小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WPF在CS代碼中應(yīng)用FindName方法

 風(fēng)中Robin 2012-06-23

如果在窗體XAML代碼中定義了下面的內(nèi)容:

<Button Name="mybutton"></Button>

則可以在窗體CS代碼中通過FindName方法查找到此按鈕對(duì)象,如果此按鈕在窗體的多個(gè)容器的更深層次,也可以通過此方法找到按鈕對(duì)象,F(xiàn)indName方法的使用如下:

Button btn = FindName("mybutton") as Button;

MessageBox.Show(btn.Name);

如果在窗體的CS代碼中動(dòng)態(tài)添加按鈕并為按鈕設(shè)置Name屬性,此時(shí)在窗體中通過FindName方法是不可以找到此按鈕對(duì)象的,代碼如下:

Button btns = FindName("btns") as Button;

MessageBox.Show(btns.Name);

執(zhí)行的結(jié)果為btns對(duì)象一直為空,也就是使用FindName方法沒有找到動(dòng)態(tài)添加的Button按鈕。

下面引用來自MSDN的一段話:

若要在初始的加載和處理之后向元素樹添加任何元素,都必須對(duì)定義名稱范圍的類調(diào)用相應(yīng)的 RegisterName 的實(shí)現(xiàn)。否則,無法通過 FindName 等方法按名稱引用添加的對(duì)象。僅設(shè)置 Name 屬性(或x:Name 屬性)不會(huì)將該名稱注冊(cè)到任何名稱范圍中。將命名的元素添加到具有名稱范圍的元素樹中也不會(huì)將此名稱注冊(cè)到名稱范圍中。盡管名稱范圍可以嵌套,但通常您應(yīng)該將名稱注冊(cè)到根元素上存在的名稱范圍中,這樣您的名稱范圍位置便可與在等效的加載 XAML 頁中可能已創(chuàng)建的名稱范圍并列。 應(yīng)用程序開發(fā)人員最常用的方案是使用 RegisterName 將名稱注冊(cè)到當(dāng)前根元素的名稱范圍中。RegisterName 是查找將作為動(dòng)畫運(yùn)行的演示圖板的一種重要方案的一部分。

現(xiàn)在我們已經(jīng)知道了,要實(shí)現(xiàn)在窗體中通過FindName方法查找按鈕對(duì)象,首先要使用RegisterName方法為按鈕注冊(cè)名稱,在注冊(cè)名稱后即可以使用FindName方法查找到指定的按鈕對(duì)象,示例代碼如下:

this.RegisterName("btns", btn);

Button btns = FindName("btns") as Button;

MessageBox.Show(btns.Name);

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多