Я пытаюсь создать ListView
, который выглядит как элементы, сидящие на полке. Я могу получить полки фона на экране списка следующим образом:Listview с прокруткой фонового изображения
<ListView.Background>
<ImageBrush ImageSource="..\Images\bookshelf.png" AlignmentX="Left" AlignmentY="Top" TileMode="Tile" Stretch="None" ViewportUnits="Absolute" Viewport="0,0,319,203" />
</ListView.Background>
но когда делать это таким образом, фон является статическим и не смещается, когда ListView
свитки. Я полагаю, что мне нужно добавить это в список прокрутки ListView
, но я не уверен, как это сделать.
Как добавить изображение, которое содержит плитки и свитки с помощью ListView
?
Вы пытались установить фон каждого ряда LV на одну полку? –
Что следует учитывать при использовании ListView с его виртуализацией, ActualHeight ScrollViewer на самом деле не является общей высотой. Он использует комбинацию «ExtentHeight», «ScrollableHeight», «ViewportHeight», «VerticalOffset» и, возможно, что-то еще, чтобы вычислить фактические требования к полосе прокрутки и размеры прокрутки. Даже со всем этим не гарантируется, что это правильно, если сказать, что какой-то элемент не в Видовом экране имеет гораздо большую «высоту», чем другие элементы, так как вы можете увидеть размер большого пальца полосы прокрутки, когда этот нерегулярный элемент входит в область просмотра. – Viv
^^ .. продолж. С возможностью того, что мы не можем вычислить фактическую высоту «ExtentHeight» с высотой виртуализации и нечеткой высоты, предложение @GarryVass было бы лучшим вариантом для вас здесь. Нарисуйте изображение книжной полки на 3 части (сверху, полке, снизу) и либо используйте селектор DataTemplate для их применения соответственно, либо оберните ListView верхним и нижним изображениями за его пределами и примените изображение полки к каждому элементу. – Viv