2011-11-07 102 views
1

以下the guide這裏我創建了一個全屏WPF應用程序。但是我遇到了一個問題:各種尺寸的屏幕分辨率爲&。例如,我想把幾個精靈作爲按鈕放在屏幕上,但它們位於每個屏幕的不同位置,甚至與XAML設計器中顯示的不同。全屏WPF應用程序的分辨率

我已經搜索了所有沒有線索了。我該如何解決這個問題? (使按鈕顯示在確切的位置(在中心),更好的是,幫助xaml設計師準確反映程序運行時會發生的情況)。任何幫助將不勝感激。

更新:我在Window元素內將我的頁面定義爲Canvas。其實我更喜歡帆布,因爲我可以輕鬆地將我的精靈放在任何地方,而不是像網格。

+0

你如何定義你的佈局? – SLaks

回答

3

通常,您不應該在WPF中使用像素值。相反,您應該使用行和列來佈局您的內容,並且它會自動擴展以填充屏幕(基於對齊和行/列定義)。

+0

我在元素內將我的頁面定義爲。其實我更喜歡帆布,因爲我可以輕鬆地將我的精靈放在任何地方,而不是像網格。 –

+1

@HoàngLong這就是爲什麼你有問題擴大到不同的決議。 「畫布」類型的解決方案只有在您知道寬高比不會改變時才能縮放。這在個人電腦世界中並非如此。 –

+0

@HoàngLong:不要使用帆布;它會給你一個縮放的痛苦世界。如果您花費一些時間並瞭解它的工作原理,那麼WPF的佈局系統會更加強大。 – SLaks

1

避免使用畫布。另外,不要過多依賴設計師來構建佈局。使用Grids,Stackpanels和/或Dockpanels會給出更好的結果(並且在調整窗口大小時可以進行縮放)。例如,如果僅使用設計器並拖放所有元素,設計師通常會隨機放置大量邊距,並且如果調整窗口大小,這並不總能正確縮放。

+0

在我的情況下,我需要在程序運行時建立一個在設計器中必須看起來相同的區域。設計師展示的不同於程序展示的事實(與設計師相比,它有點面向右)讓我很煩惱,因爲我必須使界面與設計完全一樣。 –