2010-04-08 57 views
0

我試圖在遊戲桌旁顯示遊戲桌和信息面板,我需要計算信息面板的最小寬度以正確顯示遊戲桌面。如何找出WPF中視覺的最小渲染大小?

這是我的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

問題是您使用的是錯誤的外部面板。它允許第一個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>