我在 ResourceDictionaries 中有一些来自 3-rd 方 dll (MaterialDesign) 的样式
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
由于这些样式被添加到我的 UserControl 的资源字典中,我有一个 TreeView,它获得了很酷的动画效果。
稍后我计划实现某种方式,以便用户可以在三个字典中的三种样式之间切换。欢迎提出如何最好地实施的建议。
我有一个 TreeView,我需要更改它的行为,以便某些项(或节点可能更正确)应该始终根据绑定到 VM 属性来扩展其子项。此外,当我在树视图中选择一个项目时,该项目的子树应该会自动展开。当我离开该项目时,子树应该折叠,除非它设置为始终展开。我已经设法通过编辑 TreeView 的 ItemContainerStyle 的副本来完成所有这些工作。
问题和我的问题,一旦我定义/编辑我自己的 ItemContainerStyle 副本,我就会丢失所有动画效果,因为它会覆盖 MaterialDesign 资源中的默认设置样式。 如何确保我的 ItemContainerStyle 也保留 MaterialDesign 引用的 ResourceDictionary(ies) 中的动画和样式?