2010-10-19 110 views
3

我在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

回答

1

我不確定這是否是一個錯誤,但這裏的基本想法是,你已經爲你的窗口指定了一個默認大小,但是因爲控件想要變大(無論出於何種原因)它會自動調整窗口大小。可能是一個錯誤,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

1

你在Visual Studio設計縮小?檢查左側的跟蹤欄並上下滾動以放大和縮小。

+1

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

1

請記住,WPF會縮放用戶界面。您是否玩過DPI設置?這將影響顯示器上UI組件的呈現。嘗試在輔助機器上運行應用程序以解決顯示問題。

從MSDN:

分辨率無關的,並且 設備無關的圖形。基本 單元在WPF 圖形系統測量的是設備 獨立象素,這是1 /第96個的 英寸,而不管實際的屏幕 分辨率,以及用於提供 基礎分辨率無關 和設備無關的渲染。每個 與設備無關的像素自動調整 的比例以匹配系統的每英寸點數 (dpi)設置,它將渲染 。

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