Как работает Silverlight 3 VirtualizingStackPanel?

Каковы фактические условия, которые заставляют Silverlight 3 VirtualizingStackPanel виртуализировать свое содержимое?

Например, только когда элементы находятся за пределами экрана, независимо от того, в каком контейнере они находятся, или VirtualizingStackPanel должен находиться в ScrollViewer, прежде чем он начнет применять виртуализацию?

Я спрашиваю об этом, потому что MSDN документация не дает много информации, в Интернете также очень мало полезной информации, и я хотел бы получить более глубокие знания о том, как это работает!

Спасибо, люди,

Адам


person Adam    schedule 01.10.2009    source источник


Ответы (1)


Идея VirtualizingStackPanel заключается в том, чтобы позволить отображать только видимые элементы. Обычно он используется внутри другого контейнера как его ItemsContainer:

<ListBox>
  <ListBox.ItemsContainer>
    <VirtualizingStackPanel />
  </ListBox.ItemsContainer>
</ListBox>

(что сейчас по умолчанию)

person Shawn Wildermuth    schedule 05.10.2009
comment
Привет Шон, Спасибо за ответ. Мне было интересно, как именно он узнает, что вещи в данный момент не отображаются на экране и, следовательно, не нарисованы? Любые идеи или ссылки? Спасибо, Адам - person Adam; 05.10.2009