5

http://i.stack.imgur.com/2gOLN.png

我在中Blend/VS2012 IDE和中的外观不同时遇到问题Debugging。在IDE中,Rectangle是居中的,但是在编译或者调试的时候,margin 的大小是不一样的。在我看来,这是因为窗口边框的大小不同。我真的很想解决这个问题。有什么建议么?

谢谢你。

XAML

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="202" Width="194">
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186">
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="151" Margin="10,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="166"/>
</Grid>

编辑XAML代码:

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="202" Width="194">
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186">
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Center" Height="151" Margin="10" Stroke="Black" VerticalAlignment="Center" Width="166"/>
</Grid>

结果是一样的。这是我电脑的问题吗?

4

1 回答 1

5

您的问题是窗口大小包括 Chrome 大小(窗口边框和关闭/最大最小按钮之类的东西)。

因此,您的 Grid 是您请求的大小,但它不适合您请求的窗口大小。

我可以解决您的问题,使输出窗口看起来像这样,窗口大小:

宽度:202 高度:210

在 Windows 8 上

但是,您应该将窗口大小设置为SizeToContent="WidthAndHeight"

例子:

<Window x:Class="WpfApplication4.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication4"
        x:Name="window"
        Title="MainWindow"
        SizeToContent="WidthAndHeight">
<Grid HorizontalAlignment="Left" Height="171" VerticalAlignment="Top" Width="186">
    <Rectangle Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="151" Margin="10,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="166"/>
</Grid>
</Window>

因此,您不会假设可能与不同版本的 Windows 不同的 Chrome 尺寸。

你也应该得到Snoop。它可以帮助您非常轻松地调试此类问题,当您使用 Shift+Ctrl 将鼠标悬停在控件上时,它会在控件上显示红色边框,因此您实际上Grid可以在显示 UI 的实际元素布局时看到超出可见窗口的扩展

图片

于 2013-03-29T19:48:04.767 回答