Visual Studio 2010 WPF Designer规模

问题描述:

我在Visual Studio 2010中做了简单的界面。当我启动应用程序时,一切都变得更大。屏幕截图上的红色方块代表启动的应用程序中按钮的大小(右侧)。 我错过了什么吗?如何解决它?Visual Studio 2010 WPF Designer规模

P.S. 在“Microsoft Expression Blend 4”中,相同的项目与编辑器中的尺寸完全相同。


WindowsScale Slider


<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

一些代码将是非常有益~~~ – 2010-10-19 11:43:38

+1

您必须使用64位的机器吧? – 2010-10-21 07:06:37

+0

@Avatar是的。这有什么关系吗? – Hooch 2010-10-21 15:20:33

我不确定这是否是一个错误,但这里的基本想法是,你已经为你的窗口指定了一个默认大小,但是因为控件想要变大(无论出于何种原因)它会自动调整窗口大小。可能是一个错误,Visual Studio如何使用指定的参数计算设计器中的窗口边框大小,因为它不正确地将其显示为比实际启动应用程序时小一些。

我宁愿建议你尽量避免指定高度/宽度。而是将Window设置为SizeToContent = WidthAndHeight。如果您需要使用控件的大小,请直接在控件上使用边距或MinWidth/MinHeight。

+0

不对。在“Microsoft Expression Blend 4”中,相同的项目与编辑器中的尺寸完全相同。 – Hooch 2010-10-20 17:37:35

+0

Blends设计器中的窗口是否比Visual Studio中的窗口大?另一件事,在VS中显示的窗口正好是120X256,但真正的窗口是130x266,所以有些东西正在使它变大......如果Blend在设计器中以130x266显示窗口,那么这将解释您所看到的。我不相信Blend和VS会编译不同的代码,但设计师可以轻松地显示稍微不同的结果... – Marko 2010-10-21 05:57:41

你在Visual Studio设计缩小?检查左侧的跟踪栏并上下滚动以放大和缩小。

+1

它是100%(需要8个字符) – Hooch 2010-10-19 11:53:17

请记住,WPF会缩放用户界面。您是否玩过DPI设置?这将影响显示器上UI组件的呈现。尝试在辅助机器上运行应用程序以解决显示问题。

从MSDN:

分辨率无关的,并且 设备无关的图形。基本 单元在WPF 图形系统测量的是设备 独立象素,这是1 /第96个的 英寸,而不管实际的屏幕 分辨率,以及用于提供 基础分辨率无关 和设备无关的渲染。每个 与设备无关的像素自动调整 的比例以匹配系统的每英寸点数 (dpi)设置,它将渲染 。

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