Я использую WinForms с момента внедрения первой среды и вложил в нее много времени и усилий. Теперь я пытаюсь перейти в WPF, и, честно говоря, это не так просто.Управление позиционированием и привязкой
Теперь у меня есть задача, мне нужно реализовать простой мастер, каждая страница которого имеет выровненную по центру группу элементов управления. Группа содержит набор кнопок, четыре кнопки подряд. Ширина группы постоянна, высота - переменная - она зависит от количества кнопок внутри.
Это простая задача для WinForms, но я понятия не имею, как это сделать с помощью XAML.
У меня есть три вопроса:
1). Очевидно, что кнопки внутри группы - это WrapPanel, который размещается в ячейке Grid. Это просто. Но как рассчитать высоту WrapPanel не используя код позади?
2). Какой из рекомендуемых способов реализовать мастер? Шаблон данных или какой-либо вид Управление вкладкой? Вероятно, для переключения страниц мне понадобится эффект перехода.
3). Допустимо ли в WPF мире использовать привязку как способ перестановки элементов управления?
Спасибо заранее!
Спасибо, Алекс! Я знаком с MVVM, поэтому я не стану проблемой. Но я до сих пор не понимаю, как позиционировать WrapPanel: если он помещен в ячейку Grid, тогда он фиксирует высоту = высоту ячейки сетки. –
Фактически, он будет иметь фиксированную высоту, если вы установите его как таковой. Если он содержится в ячейке сетки и требует больше места (вы добавляете к нему больше предметов), он будет запрашивать больше места и повторной компоновки; если родитель отрицает запрос на большее пространство, он будет ограничен максимальным значением, разрешенным родителем. Все это осложняется множеством свойств, которые вы можете установить, например, горизонтальные и вертикальные выравнивания, растягивание, связанные с прокруткой и т. Д., А также подстроки макета, встроенные в каждый элемент управления. Однако, если вы некоторое время играете в дизайнере, все это должно стать довольно очевидным. –
Спасибо, Алекс! Вы много помогли! –