2016-05-16 52 views
2

我在我的UWP應用程序的不同頁面上有幾個ListView s。出於某種原因,其中一個似乎沿着底部下方的底部有Padding,而另一個沒有。確定XAML樣式的來源

他們都沒有底部Padding指定,所以我想知道這是否可以從父控制繼承?我搜索了Padding的整個XAML,並且它沒有設置在其他任何地方。這不是一個大問題,但我更希望我的控件在整個應用程序中保持一致,並且我認爲如果沒有它,將底部Padding添加到ListView似乎很愚蠢,特別是當我不確定第一個首先有Padding

是否有某處可以確定在層次結構中設置屬性的位置,類似於CSS的工作方式?

這裏是他們的樣子:

沒有填充:no padding

填充:padding

我加了BackgroundListView控制,以驗證沒有Padding有..

background

因此,它似乎必須來自ListViewItem本身,但它沒有Padding屬性集。

+0

您可以抓取XAMLSpy或其他等價物。就像那些通常發現很快,但只是尋找設置在特定目標類型(如ListBoxItem或TextBlock或其他)上的樣式覆蓋。可能不得不看它來告訴。 –

+0

如果列表框的大小設置爲其容器的大小,並且列表框的內部大小不是其中一個項目的高度的整數倍,則在最後一項之後必須有空格。 Win32 listboxes做了整體大小調整,但一個快速谷歌表明XAML沒有這個概念。 –

+0

P.S.填充區域將具有元素控件的背景顏色;邊緣區域不會。所以目的只是表明它不是項目的填充(原則上這是可能的 - 也許項目中的綠色是透明父項的一些內在因素)。 –

回答

0

問題竟然是在於用正確顯示ListView的父控件的一個(我怎麼想它)有一個VerticalAlignment="Top"集,而其他ListView的所有的家長都設置爲VerticalAlignment="Stretch"

我終於能夠使XAML Spy正常工作,並且在應用程序運行時預覽更改很有幫助,以便我可以確定需要設置VerticalAlignment的哪個元素,而無需一遍又一遍地重新編譯。感謝@ChrisW的推薦。