Загадка макета WPF - PullRequest
       9

Загадка макета WPF

0 голосов
/ 22 сентября 2009

Скажем, у меня есть два элемента в окне.
Я бы хотел, чтобы элемент A заполнил все неиспользованное пространство вертикали и всегда имел, например, например. Высота 200 пикселей.
Элемент B будет иметь несколько фиксированных размеров (расширитель), и ему должно быть предоставлено пространство, которое он требует (но оставляя не менее 200 пикселей для A). Если в окне недостаточно свободного места, необходимо прокручивать букву B.

Это близко к тому, чего я не хочу достигать, но DockPanel не уважает свойство MinHeight.

<DockPanel>
  <ScrollViewer DockPanel.Dock="Bottom">
    <B/>
  </ScrollViewer>
  <A MinHeight="200"/>
</DockPanel>

Есть ли способ сделать это с помощью собственных панелей WPF?

1 Ответ

2 голосов
/ 22 сентября 2009

DockPanel всегда будет обрабатывать панели в порядке, в котором они определены; он не уменьшит размер закрепленного элемента только потому, что последний элемент имеет MinHeight.

Я бы использовал Grid:

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="*" MinHeight="200" />
    <RowDefinition Height="Auto" />
  </Grid.RowDefinitions>
  <A Grid.Row="0"/>
  <ScrollViewer Grid.Row="1">
    <B/>
  </ScrollViewer>
</Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...