Есть ли способ предоставить альтернативный макет в приложении WPF? - PullRequest
0 голосов
/ 25 июля 2011

Я разрабатываю приложение, которое будет использоваться в сочетании с Microsoft Word.Я ожидаю, что пользователь изменит размер окна моего приложения и окна Microsoft Word, чтобы они не перекрывались.Когда они делают это, у них есть выбор, чтобы поместить мое приложение выше (или ниже) Word или поместить его справа (или слева) от Word.

В одном случае окно моего приложения будет намного больше, чемвысоко.В другом случае окно будет очень узким.

Есть ли способ предоставить два макета для моего окна и переключаться с одного на другое во время выполнения?

Спасибо

Ответы [ 4 ]

1 голос
/ 25 июля 2011

Вы можете использовать два совершенно разных шаблона и применить стиль к своему окну.Этот стиль может включать в себя триггер, который использует конвертер для преобразования размера окна в шаблон, который он должен использовать.

Если подумать, стиль может и не понадобиться.Возможно, вы могли бы просто указать Template="{Binding Width, Converter=WidthToTemplateConverter} в объявлении окна ...

1 голос
/ 29 июля 2011

Вместо конвертера вы можете использовать функцию TemplateSelector в WPF, чтобы выбрать подходящий шаблон.

Пример:

http://codingbandit.com/Blog/blog/wpf-data-templates-part-4-template-selectors/

0 голосов
/ 18 августа 2011

Попробуйте взглянуть на этот пост ... он может соответствовать вашим требованиям http://learnwpf.com/post/2011/08/09/Changing-the-DataTemplate-based-on-the-Available-Space-e28093-SizeBasedTemplateSelector.aspx

0 голосов
/ 25 июля 2011

Первое, что приходит мне в голову, это то, что вы можете загружать XAML динамически: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a53ff197-8703-4c6c-8726-45570304fb7b/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...