
我有不同的外观中存在的问题Blend/VS2012 IDE和Debugging.在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)
结果是一样的.这是我的电脑的问题吗?
这里的问题是窗口大小包括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的实际元素布局时实际看到超出可见窗口的延伸

| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |