Попытка реализовать то, что я думал, была простой концепцией. У меня есть пользовательский элемент управления (представление), связанный с моделью представления, которая предоставляет список данных. Я добавил кнопки управления в usercontrol и хотел бы позволить пользователю использовать эти кнопки для переключения, какой шаблон используется для отображения данных. Все шаблоны, используемые для данных, работают, и они сильно отличаются друг от друга, так что это не просто изменения одного шаблона. Я хотел бы получить это как можно больше в XAML.
Вот что у меня сейчас:
Где появляются данные, у меня есть <UserControl Template="{StaticResource ListSwitchingControlTemplate}" />
В этом шаблоне управления у меня есть все «суб-шаблоны» - на самом деле это всего лишь 3 представления с их видимостью, установленной на Collapsed. Затем я использую триггер данных в этом шаблоне управления, чтобы показать текущий выбранный вид. Это работает, но я заметил, что все 3 представления связаны друг с другом - каждое из них действует так, как будто они активны (и я думаю, что они активны).
Я бы предпочел по-настоящему переключать шаблон во время выполнения. Я попытался преобразовать содержащий пользовательский элемент управления, чтобы использовать ContentTemplate для себя, но это только портит все привязки, которые у меня есть в другом месте. Если бы только UserControls мог использовать DataTriggers, я был бы в порядке.
Любые предложения о том, как правильно подобрать такое поведение. У меня есть идея, что мне просто не хватает чего-то простого.
Спасибо,
Dave