2015-09-04 17 views
0

後返回NULL我有一些代碼如下:WPF GetTemplateChild部分改名

[TemplatePart(Name = "okButton", Type = typeof(Button))] 
[TemplatePart(Name = "cancelButton", Type = typeof(Button))] 
public class ModalPopup : ContentControl, IModalPopup 
{ 
    private Button _okButton; 
    private Button _cancelButton; 

    ' 
    ' 
    public override void OnApplyTemplate() 
    { 
     base.OnApplyTemplate(); 

     LoadTemplateParts(); 
    } 

    private void LoadTemplateParts() 
    { 
     _okButton = GetTemplateChild("okButton") as Button; 
     _cancelButton = GetTemplateChild("cancelButton") as Button; 
    } 

} 

有定義了許多其他的模板部分,雖然我只顯示2,他們都做工精細。但是,如果我嘗試添加一個新部件(即,我想添加一個應用按鈕),那麼GetTemplateChild方法只會爲這個新部件返回null。就好像這些模板部件有一個緩存的定義,我需要以某種方式清理它!

有沒有人有任何建議?

+0

爲了不浪費某人的寶貴時間 - >這是一個我新來的區域,並在經過一段時間後重新訪問我想要一個新的Button - 但是我只創建了新的屬性和代碼 - 我完全忘記了我需要將新Button添加到彈出窗口的「樣式」定義中 - doh! – EzaBlade

回答

0

在不浪費的人的利益的寶貴時間: -

這就是我是新來的,並在一段時間後已經過去了我想要一個新的按鈕重新訪問的區域 - 但我只是創造了新的屬性和代碼 - 我完全忘記了我需要將新Button添加到彈出窗口的「樣式」定義中 - doh!