스타일을 잘못 지정하면 ListBox
이 가상화를 잃게됩니다. notacat's answer in this question으로 그의 솔루션은 괜찮습니다.스타일 유지시 가상화 유지 방법 ListBox의 ControlTemplate?
나는
<ControlTemplate TargetType="ListBox">
<ScrollViewer x:Name="ScrollViewer"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Foreground="{TemplateBinding Foreground}"
Padding="{TemplateBinding Padding}">
<StackPanel>
<TextBlock Text="{TemplateBinding MyText}" />
<ItemsPresenter/>
</StackPanel>
</ScrollViewer>
</ControlTemplate>
ListBox
Grid
, Border
그 ... 알고 있습니다. 하지만 ItemsPresenter
앞에 TextBlock
을 배치하고 ScrollViewer은 자식 요소 1 개만 허용합니다. 어떻게 처리해야합니까?
UPDATE : 나는이 post 참조 데릭 라킨가하는 TextBlock
ScrollViewer
템플릿에 배치하는 것입니다,하지만 어떻게 ScrollContentPresenter
에 그 TextBlock
을 배치 할 수 있습니다?
P/S는 : 내 ListBox
에 대한 ItemsPanel
로 VirtualizingStackPanel
을 설정 않습니다.
네 말이 맞아. 내가 가리키는 기사를 따르지만, ** **를 설정했지만 작동하지 않습니다. –
onmyway133
XAML을 볼 수 있습니까? – Michiel
예, 여기 XAML http://pastebin.com/6BSfeyqc가 있으며 코드는 http://pastebin.com/yxwcFbGX – onmyway133