ListBox 패널의 높이 내에 더 이상 들어갈 수 없을 때 그룹이 오른쪽에서 왼쪽으로 줄 바꿈되는 그룹에서 항목을 표시하기 위해 ListBox를 만들었습니다.WPF ListBox WrapPanel 클립 긴 그룹
[ 1 ][ 3 ][ 5 ]
[ ][ 4 ][ 6 ]
[ 2 ][ ]
다음 XAML은 그것이 제대로 작동 : 그래서, 그룹 각 그룹의 높이가 임의 목록 상자에서이 유사한 나타납니다 (그룹 1은, 예를 들어, 그룹 2 배 높이) 줄 바꿈을 수행하고 항목이 ListBox의 오른쪽에서 벗어날 때 가로 스크롤 막대가 표시되도록합니다.
<ListBox>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.GroupStyle>
<ItemsPanelTemplate>
<WrapPanel Orientation="Vertical"
Height="{Binding Path=ActualHeight,
RelativeSource={RelativeSource
FindAncestor,
AncestorLevel=1,
AncestorType={x:Type ScrollContentPresenter}}}"/>
</ItemsPanelTemplate>
</ListBox.GroupStyle>
</ListBox>
항목 그룹이 WrapPanel의 높이보다 긴 경우 문제가 발생합니다. 잘라 내기 항목 그룹을보기 위해 세로 스크롤 막대를 표시하는 대신 해당 그룹의 항목을 단순히 자릅니다. 나는 이것이 WrapPanel의 Height 바인딩의 부수적 인 효과라고 가정하고있다. 스크롤 바는 그것을 사용할 필요가 없다고 생각한다.
내가 볼 수없는이 문제를 해결하는 방법이 있습니까?
이것은 거의 * 정확한 해결책입니다. 수직 스크롤링이 가능하지만 수평 스크롤링은 중지됩니다.약간 수정했는데 (다음 답변에 표시된 수정 된 코드) 완벽하게 작동합니다. 고마워, 아베. –