2016-05-16 10 views
2

Ich habe ein paar ListView s auf verschiedenen Seiten in meiner UWP-Anwendung. Aus irgendeinem Grund scheint einer von ihnen Padding entlang der Unterseite unter dem letzten ListViewItem zu haben, während der andere nicht.Ermitteln Quelle von XAML Styling

Keine von beiden hat unten Padding angegeben, so frage ich mich, ob dies von einer übergeordneten Kontrolle vererbt werden könnte? Ich habe den gesamten XAML des einen mit Padding durchsucht, und es ist auch nirgendwo anders gesetzt. Es ist kein großes Problem, aber ich würde bevorzugen, dass meine Kontrollen in meiner gesamten Anwendung konsistent sind, und ich denke, dass die PaddingListView ohne sie hinzuzufügen, um sie passend zu machen, scheint albern, vor allem, wenn ich unsicher bin, warum der erste hat Padding an erster Stelle.

Gibt es irgendwo zu bestimmen, wo Eigenschaften in der Hierarchie festgelegt sind, ähnlich wie CSS funktioniert? Hier

ist, wie sie aussehen:

Keine padding: no padding

Padding: padding

Ich habe ein Background zum ListView Kontrolle, um sicherzustellen, dass es keine Padding gibt es ..

background

Es scheint also, dass es von der ListViewItem selbst kommen müsste, aber es hat nicht die Padding Eigenschaft festgelegt. ein VerticalAlignment="Top" Satz hatte, während alle Eltern der anderen ListView gesetzt wurden VerticalAlignment="Stretch"

+0

Sie könnten XAMLSpy oder ein Äquivalent greifen. One's wie diese werden im Allgemeinen ziemlich schnell gefunden, obwohl sie nur nach Style-Überschreibungen suchen, die auf einen bestimmten Zieltyp wie ListBoxItem oder TextBlock oder so eingestellt sind. Würde es wahrscheinlich sehen müssen, um es zu erzählen. –

+0

Wenn das Listenfeld seinem Container entspricht und die Innengröße des Listenfelds kein ganzzahliges Vielfaches der Höhe eines Elements ist, muss hinter dem letzten Element Platz sein. Win32 Listboxen haben integrale Sizing, aber eine schnelle Google schlägt vor, dass XAML dieses Konzept nicht hat. –

+0

P.S. Der Auffüllbereich wird die Hintergrundfarbe des Elementsteuerelements haben; der Randbereich wird nicht. Der Zweck zeigt nur an, dass es nicht die Polsterung des Gegenstandes ist (was im Prinzip möglich ist - vielleicht ist das Grün innerhalb des Gegenstandes etwas Inneres mit einem transparenten Elternteil). –

Antwort

0

Die Frage stellte sich, dass einer der Eltern Kontrollen des ListView erwiesen, die richtig anzeigte (wie ich es wollte).

Ich konnte endlich XAML Spy richtig arbeiten, und es war hilfreich in der Vorschau der Änderungen, während die Anwendung ausgeführt wurde, so dass ich feststellen konnte, welches Element ich brauchte, um VerticalAlignment zu aktivieren, ohne immer wieder neu zu kompilieren. Danke an @ChrisW für die Empfehlung.