我正在寫一個自定義控件,它使用我的XAML資源部分中定義的模板,我想在運行時在我的控件實例中替換一個或多個模板部件。例如,如果我在控件的模板中有一個名爲「ActivePart」的零件,那麼如何用一個新的FrameworkElement替換控件實例中的ActivePart的FrameworkElement?如何在運行時在Silverlight 3中替換ControlTemplate部件?
我意識到Control.Template屬性是可寫的,但我更願意找到替換該模板的特定部分的方法,而不是創建一個全新的方法,儘管這是一種通過替換適當的命名部分是可以接受的。
我正在使用C#並需要在運行時使用任何FrameworkElement來做到這一點,所以我不是正在尋找基於XAML的解決方案或建議,謝謝!
P.S.我知道GetTemplateChild()爲控件實例中的命名模板部件返回FrameworkElement,但我看不出如何幫助我用新的FrameworkElement替換該部件。
@Duckboy:請不要使用後腳本註釋。如果你有什麼要添加到你的問題,然後編輯你的問題,並添加到您的問題的主體。 – AnthonyWJones 2010-01-10 21:06:31
@Anthony - 謝謝,完成。 關於問題本身的任何輸入? – Duckboy 2010-01-11 09:53:33