Visual Studio 2010 WPF 设计器缩放

3
我在Visual Studio 2010中创建了一个简单的界面。当我启动应用程序时,所有的东西都变得更大了。屏幕截图上的红色正方形代表启动应用程序中按钮的大小(右侧)。 我是否遗漏了什么?如何解决?
附言: 在“Microsoft Expression Blend 4”中,与编辑器中完全相同的项目大小。
<Window x:Class="WpfControlReview.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="120" Width="256" ResizeMode="NoResize">
    <Grid>
        <Button HorizontalAlignment="Stretch" Name="button1" VerticalAlignment="Stretch">
        <StackPanel HorizontalAlignment="Stretch" Name="stackPanel1" VerticalAlignment="Center">
            <Label IsHitTestVisible="False" Content="Select your options and press to commit" Name="label1" HorizontalContentAlignment="Center" FontSize="12" />
            <StackPanel Name="stackPanel2" Orientation="Horizontal">
                <Expander Header="Color" Name="expander1">
                </Expander>
                <Expander Header="Make" Name="expander2">
                </Expander>
                <Expander Header="Payment" Name="expander3">
                </Expander>
            </StackPanel>
        </StackPanel>
        </Button>
    </Grid>
</Window>

2
一些代码会非常有益~~~ - Dimi Takis
1
你一定是在使用64位的机器,对吧? - Prince Ashitaka
@Avatar 是的。这有任何影响吗? - Hooch
3个回答

1
你在 Visual Studio 设计器中放大了吗?检查左侧的滑动条,上下滚动以放大和缩小视图。

1
它是100%的。 - Hooch

1

我不确定这是否是一个错误,但基本思路是您为窗口指定了默认大小,但由于控件想要变得更大(无论出于何种原因),它会自动调整窗口大小。可能是Visual Studio在设计师中使用指定参数计算窗口边框大小时的一个错误,因为它错误地显示它比实际启动应用程序时要小一点。

如果可能,我建议您避免指定高度/宽度。而是将窗口设置为SizeToContent = WidthAndHeight。如果您需要调整控件的大小,请直接在控件上设置Margins或MinWidth / MinHeight。


不对。在“Microsoft Expression Blend 4”中,同一项目与编辑器中的大小完全相同。 - Hooch
混合设计器视图中的窗口是否比Visual Studio中的窗口更大?另外,VS中显示的窗口大小为120X256,但实际窗口大小为130x266,因此某些因素使其变大...如果Blend在设计器中也以130x266显示窗口,则可以解释您所看到的情况。我不认为Blend和VS会编译不同的代码,但是设计器可能会显示略有不同的结果... - Marko

1
请记住,WPF会自动缩放UI。您是否尝试过更改DPI设置?这将影响UI组件在显示器上的渲染效果。尝试在辅助机器上运行应用程序以消除显示问题。
来自MSDN:
分辨率无关和设备无关的图形。 WPF图形系统中的基本测量单位是设备无关像素,它是1/96英寸,无论实际屏幕分辨率如何,都提供分辨率无关和设备无关的呈现基础。每个设备无关像素会自动缩放以匹配其所呈现系统的每英寸点数(dpi)设置。

http://msdn.microsoft.com/en-us/library/aa970268.aspx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接