如何在WPF中找出最小的视觉渲染大小?

时间:2010-04-08 19:16:06

标签: wpf size element

我正试图在游戏桌旁边显示一个游戏桌和信息面板,我需要计算信息面板的最小宽度,以便正确显示游戏桌。

这是我的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 个答案:

答案 0 :(得分:1)

问题是你使用了错误的外部面板。它允许第一个Rectangle占用尽可能多的空间,而不是剩余的空间。如果您切换到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>