主题是我已经定义了一个绑定到 DataContext 的自定义控件。我希望根据 DataContext 的特定属性值动态更改控件模板。
我想到了两种方法,但我不知道哪种方法更好。
1.不要在ResourceDictionary中使用控件模板,控件的所有细节都在C#代码中定义。当DataContext的属性值发生变化时,使用DependencyProperty回调方法来渲染控件。
2.在ResourceDictionary 中定义控件模板并使用DataTrigger 更改'Control.Template' 属性。
在我的应用程序中,会创建数千个这种类型的实例,因此如果 ControlTemplate 更改无效,这是不可接受的。
您能给我一些建议或更好的解决方案吗?