У меня есть несколько стилей в ResourceDictionaries от 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" />
У меня есть TreeView, который получает крутой анимационный эффект благодаря тому, что эти стили добавлены в словарь ресурсов моего UserControl.
Позже я планирую реализовать какой-то способ, чтобы пользователь мог переключаться между тремя стилями из трех словарей. Рекомендации, как наилучшим образом реализовать, приветствуются.
У меня есть TreeView, для которого мне нужно изменить поведение, чтобы у некоторых элементов (или узлов могли быть более правильные) всегда были расширены дочерние элементы на основе свойства Binding to VM. Также, когда я выбираю элемент в древовидной структуре, дочернее дерево элемента должно автоматически расширяться. Когда я оставляю элемент, дочернее дерево должно рухнуть, если только оно не настроено на постоянное расширение. Мне удалось сделать все это путем редактирования копии TreeCon's ItemContainerStyle.
Проблема и мой вопрос, как только я определяю / редактирую свою собственную копию ItemContainerStyle, я теряю все эффекты анимации, поскольку она переопределяет стиль набора по умолчанию из Ресурса (ов) MaterialDesign.
Как я могу убедиться, что мой ItemContainerStyle хранит анимации и стили также из MaterialDesign Referenced ResourceDictionary (s)?