ListBox子元素填充

问题描述 投票:0回答:1
wpf listbox
1个回答
0
投票

ListBoxes 和 ListViews 是 WPF 中的一个难题。您需要更新

ListBox.ItemContainerStyle
以水平拉伸
Content Presenter

<ListBox x:Name="myData">
<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListBoxItem}">
                    <!--*** THIS GUY ***-->
                    <ContentPresenter HorizontalAlignment="Stretch" />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ListBox.ItemContainerStyle>
<ListBoxItem>
    <Grid HorizontalAlignment="Stretch">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="10*" />
            <ColumnDefinition Width="5*" />
            <ColumnDefinition Width="2*" />
            <ColumnDefinition Width="2*" />
        </Grid.ColumnDefinitions>
        <Grid Grid.Column="0">
            <TextBlock Text="1" />
        </Grid>
        <Grid Grid.Column="1">
            <WrapPanel>
                <Rectangle Fill="LightGray"
                           Width="40" 
                           Height="40"/>
                <StackPanel Margin="10,0,0,0">
                    <TextBlock Text="NAME" />
                    <TextBlock Text="DES" />
                </StackPanel>
            </WrapPanel>
        </Grid>
        <Grid Grid.Column="2">
            <TextBlock Text="ALBUM" />
        </Grid>
        <Grid Grid.Column="3">
            <Path Data="M0,0 L100,0 L100,100 L0,100 Z "
                  Fill="Red"
                  Stroke="Red"
                  Stretch="Fill"
                  Width="16"
                  Height="16" />
        </Grid>
        <Grid Grid.Column="4">
            <TextBlock Text="SIZE" />
        </Grid>
    </Grid>
</ListBoxItem>
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.