调试后C#WPF与IDE的大小不同?

jn4*_*kim 5 c# wpf window

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

我有不同的外观中存在的问题Blend/VS2012 IDEDebugging.在IDE,Rectangle它位于中心,但在编译或调试时,边距的大小是不同的.在我看来,这是因为窗口边框的大小不同.我真的想解决这个问题.有什么建议?

谢谢.

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>
Run Code Online (Sandbox Code Playgroud)

编辑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>
Run Code Online (Sandbox Code Playgroud)

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

Viv*_*Viv 5

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

因此,您的网格是您请求的大小,但它不符合您请求的窗口大小.

我可以修复你的问题,使输出窗口看起来像这样,窗口大小:

宽度: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>
Run Code Online (Sandbox Code Playgroud)

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

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

图片