2014-01-11 84 views
0

最近我偶然發現了一個問題,同時處理自定義的WPF窗體。 (不是他們都是自定義的嗎?)。我將以下屬性添加到XAML。使用超大的窗體窗口

AllowsTransparency="True" 
ResizeMode="NoResize" 
Height="945" 
Width="1621" 
WindowStyle="None" 

除了上面列出的大小自定義背景圖片:

<Window.Background> 
    <ImageBrush ImageSource="Images/form_bg.png" /> 
</Window.Background> 

並運行它之後,一些按鈕,我又增加了,乾脆消失了。直到我超出了他們開始出現的按鈕(大約300高度&寬度)之後。

我花了一小會兒,試圖找出發生了什麼事....在視窗調整自己的狀態,因爲它不符合我的15「的筆記本電腦!作爲唯一1366 x 768,我的Windows 8.1只是調整形式,它收縮到,我想,它的原始大小的70%。因爲我的控件使用空間,與XAML代碼被原封不動,但實際的形式縮小,我的控制簡直崩潰了。

現在明顯的解決辦法爲了減小圖像尺寸,可能會將圖像裁剪一些,讓我們以1280x1024作爲通用分辨率,然後進行設置,但如果某人使用1024x768顯示器運行,它擰緊了他的目的?

我管理通過添加MinWidth了minHeight屬性和作爲寬度&高度,但移動的形式之後將它們設置爲相同的值來解決Windows的大小調整,一些底部內容簡單地脫落屏幕。

所以,我正在尋找的是處理這個問題的正確方法。一個體面的用戶友好解決方如果也許我可以調整控件的大小,用戶可能無法在小屏幕上閱讀某些內容。

或者,也許我可以使用C#將焦點放在窗口的一部分上,而不管它的位置如何?只要該部分不會脫離屏幕即可。

任何提示,提示&樣本非常感謝!

+0

你在窗口中設置了這個WindowState =「Maximized」? –

+1

@Girish,我剛剛遇到一些非常糟糕的編輯。請避免在部分問題的文本中添加隨機粗體和代碼格式。你在做什麼是邊緣故意破壞。 –

回答

0

如果我理解你的問題,能夠設計一個不論分辨率如何都能縮放的佈局?

我做的一件事是在使用「星形」單位佈局(基本上是基於百分比)和在這些網格內的窗口上佈置網格,將我的用戶控件放入Viewbox。這使我可以在網格中設置垂直或水平拉伸。這些控件將在網格佈局內的視圖框內自動進行縮放。這樣,無論顯示器的分辨率或比例如何,佈局和控件都會相應調整。

如果您需要在控件周圍有一個靜態邊距,這些規則將適用。如果您需要爲比例創建某種類型的限制,則可能需要創建一個依賴項屬性來計算控件的所需大小,並將它們的寬度和高度綁定到結果。