Наследовать пользовательский класс от Panel и VirtualStackPanel

Я реализую свой собственный класс, который должен быть получен из Panel.

После наследования от Panel переопределенный метод «MeasureOverride» получает размер по умолчанию.

На моей странице xaml я использую ListBox, для которого не указаны ширина и высота, и эта настраиваемая панель вызывается из шаблона ItemsPanel.

Когда класс является производным от класса Panel, ширина и высота, полученные в параметре, равны бесконечности.

Но, производя тот же класс от VirtualStackPanel, я получаю высоту и ширину (размер, в котором отображается родительский элемент управления).

Любая идея, почему такое поведение? Мне нужно получить мой элемент управления из класса Panel, но в этом случае требуется размер родительской ширины и высоты (рассчитанный размер на основе доступной видимой области).

С уважением Раджеш


person user469872    schedule 18.10.2010    source источник


Ответы (1)


Нашел решение для того же,

Реализация интерфейса IScrollInfo решает проблему. Используя IScrollInfo, можно реализовать свои собственные контейнеры прокрутки.

person user469872    schedule 30.06.2011