我正在编写一个自定义控件,它使用在我的 XAML 的资源部分中定义的模板,并且我想在运行时替换我的控件实例中的一个或多个模板部分。
例如,如果我在控件的模板中有一个名为“ActivePart”的部件,如何将控件实例中的 ActivePart 的 FrameworkElement 替换为新的 FrameworkElement?
我意识到 Control.Template 属性是可写的,但我更愿意找到一种方法来替换该模板的特定部分而不是创建一个全新的部分,尽管通过替换适当的命名部分来编辑现有模板的解决方案会可以接受。
我正在使用 C#,需要在运行时使用任何 FrameworkElement 执行此操作,因此我不是在寻找基于 XAML 的解决方案或建议,谢谢!
PS 我知道 GetTemplateChild() 返回控件实例中命名模板部分的 FrameworkElement,但我不明白这如何帮助我用新的 FrameworkElement 替换该部分。