2016-05-16 51 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的推荐。