Как узнать минимальный размер рендера визуала в WPF? - PullRequest
0 голосов
/ 08 апреля 2010

Я пытаюсь отобразить игровой стол и информационную панель прямо рядом с игровым столом, и мне необходимо рассчитать минимальную ширину информационной панели, чтобы правильно отобразить игровой стол.

Это мой код XAML:

<StackPanel Orientation="Horizontal">
    <Rectangle Width="Auto" Height="Auto" Name="gamedeskRect" Style="{DynamicResource GameDesk}" />
    <StackPanel Name="infoPanel" Width="Auto" HorizontalAlignment="Right" Height="Auto"  VerticalAlignment="Center" Margin="10,0,0,0">
    <!-- a few textblocks in a grid here -->
    </StackPanel>
</StackPanel>

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

1 Ответ

1 голос
/ 09 апреля 2010

Проблема в том, что вы используете неверную внешнюю панель. Это позволяет первому прямоугольнику занимать столько места, сколько ему нужно, вместо оставшегося пространства. Если вы переключитесь на DockPanel, это должно решить вашу проблему (хотя вам нужно будет немного реорганизовать содержимое для поддержки LastChildFill):

<DockPanel LastChildFill="True">
    <StackPanel Name="infoPanel" DockPanel.Dock="Right" VerticalAlignment="Center" Margin="10,0,0,0">
    <!-- a few textblocks in a grid here -->
    </StackPanel>
    <Rectangle Width="Auto" Height="Auto" Name="gamedeskRect" Style="{DynamicResource GameDesk}" />
</DockPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...