2015-11-18 9 views
9

Próbuję wyświetlić listę obrazów, które mają określoną wysokość (mniejszą niż wysokość ekranu) i chcę, aby szerokość pasowała do szerokości ekranu.ListView marginesy

Kiedy umieścić je w siatce, jestem w stanie osiągnąć pożądany efekt:

<Grid> 
    <Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image> 
</Grid> 

Ale kiedy umieścić je w ListView, widzę, że to margines po lewej i prawej krawędzi Obraz. Innymi słowy, obraz nie jest od krawędzi do krawędzi. Oto (nad) uproszczona wersja mojego kodu:

<Grid> 
    <ListView> 
     <Image HorizontalAlignment="Stretch" Source="Assets/someimage.jpg" ></Image> 
    </ListView> 
</Grid> 

Po przeczytaniu innych podobnych tematów Próbowałem przy użyciu stylów ustawić właściwość horizontalAlignment z ListviewItems bezskutecznie. czego mi brakuje?

+0

Czy używasz wiązania (Itemsource)? –

+0

Ostatecznie, chciałbym użyć wiązania, ale teraz nie jestem. Chciałem zobaczyć, czy jestem w stanie osiągnąć pożądany wygląd, a następnie przejść do większych i bardziej złożonych rzeczy. –

+0

Nie jestem pewien, czy to pomoże, ale możesz spróbować pracować z bindowaniem i ustawić ItemTemplate na Grid/Image i sprawdzić, czy to rozwiąże twój problem. daj mi znać, jeśli potrzebujesz próbki kodu, a ja opublikuję jeden jako odpowiedź. –

Odpowiedz

15

Po pierwsze, po dodaniu obrazu do listView, ten obraz staje się treścią ListViewItem, który można usunąć marginesy, które ten element stosuje automatycznie.

<ListView.ItemContainerStyle> 
     <Style TargetType="ListViewItem"> 
      <Setter Property="Padding" Value="0"/> 
      <Setter Property="BorderThickness" Value="0"/> 
     </Style> 
</ListView.ItemContainerStyle> 

Nawet to robi, można jeszcze trochę margines, który jest stosowany przez ListView:

ListView BorderThickness="0" 
     Padding="-1"> 

BorderThickness to nie wystarczy, aby usunąć cały margines, dlatego możemy ustawić dopełnienie ListView z -1, możesz dostosować tę wartość, aby lepiej pasowała do Twojego okna.

+0

Doskonale! Dzięki, Bruno. Właśnie tego szukałem! –

+0

Nie ma problemu, miło mi pomóc. –