2013-08-30 19 views
1

我來自WinForms背景,所以WPF對我來說是陌生的。我正在試驗它,試圖製作一個簡單的Hello World!應用程序,但應用程序在運行時會顯示與設計器中的不同。WPF窗口顯示中有15個額外的像素

我的意思是我有一個'你好!',並且在設計器中按鈕的位置是12,12和,而窗口的大小使得按鈕的右邊/底部邊緣是12,12像素從窗口的右邊緣/底部邊緣(所以圍繞按鈕均勻12像素)。當我運行該應用程序時,按鈕距頂部&左邊緣仍爲12,12像素,但距窗口右側/底部邊緣27,27像素。我已經驗證了按鈕尺寸是正確的(我截取了屏幕截圖並在Adobe Photoshop中測量了按鈕,並驗證了XAML代碼中的按鈕寬度&高度與屏幕上顯示的高度相同)。窗口越來越大。

我還驗證了它不是通過明確設置寬度&高度,更改背景顏色以及將水平/垂直對齊設置爲左/頂來使畫布變得更大。所以當我再次運行它時,畫布保持相同的大小,但窗口右側/底部仍有15個像素。

我試過Google搜索&在這裏搜索這個問題,但找不到解釋爲什麼運行時不同於設計者。

我應該注意我正在使用Visual 2010,並且我正在使用一個簡單的佈局。

無論如何,感謝任何線索,爲什麼我得到15額外的像素。

(注意我會張貼截圖,但作爲新用戶,我不允許)。

+1

發佈一個鏈接到你的屏幕截圖,有人會編輯你的帖子,用它指向的圖片替換鏈接。此外,您應該發佈窗口的XAML標記,可能會有所幫助:) –

+0

感謝retailcoder。我實際上創建了一個全新的窗口,並重新繪製在設計器中,並在新窗口中正確顯示。 我比較了差異,這裏是我發現:如果我通過「屬性」窗口中的「佈局」類別設置寬度/高度,窗口顯示那些額外的15個像素。 使用新窗口,我沒有在屬性中指定寬度/高度,而是在設計器中單擊並拖動邊框。在XAML代碼中,它設置了'd:DesignHeight =「值」d:DesignWidth =「value」。 不知道爲什麼結果不同,但現在它顯示正確。 –

回答

1

您可以使用類似Snoop這樣的工具來診斷此問題。它應該允許您檢查應用程序的整個可視化樹,並確定哪個UIElement負責額外的像素。

+0

謝謝。我試過了。神奇的小工具。 –