[WPF][Xaml] ListBox의 각 콘텐츠의 너비를 ListBox의 가로 너비에 맞춥니다.

2595 단어 XamlWPF.NET
ListBox의 각 내용의 너비를 목록 상자에 맞추고 싶을 때의 방법 참고

결론


HorizontalContentAlignment="Stretch" 지정

지정 전 상태



이것을 ListBox 등으로 지정하지 않는 경우, ListBox의 Item의 가로폭이 컨텐츠의 내용의 최대 사이즈가 되어 버린다.
그러면 ListBox의 오른쪽에 표시하고 싶은 경우에 겹쳐져 표시할 수 없다.



이 때 HorizontalContentAlignment="Stretch"를 지정하면 다음과 같이 ListBox의 가로 폭이 최대 크기가됩니다.



이미지 사용 예



※위의 이미지는 맞추어 MaterialDesignToolKit를 사용하고 있습니다

XAML
<ListBox ItemsSource="{Binding Path=ItemList}"
         HorizontalContentAlignment="Stretch"
         VirtualizingPanel.ScrollUnit="Item"
         VirtualizingPanel.IsVirtualizing="True"
         VirtualizingPanel.VirtualizationMode="Recycling">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Background="LightBlue">
                <TextBlock Text="LeftItem"/>
                <TextBlock Text="RightItem" TextAlignment="Right"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

좋은 웹페이지 즐겨찾기