【问题标题】:Custom Listbox Items not stretching自定义列表框项目不拉伸
【发布时间】:2013-12-22 02:59:40
【问题描述】:

如何使 mainGrid 水平拉伸到列表框的大小?我将列表框设置为拉伸和自动宽度,并将 mainGrid 设置为拉伸和自动,但它没有拉伸到列表框的大小。

 <DataTemplate x:Key="AccountItem">
                <Grid Name="mainGrid" ShowGridLines="True">
                    <Grid.Background>
                        <LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
                            <GradientStop Color="#FFFFFFF3"/>
                            <GradientStop Color="DarkGray" Offset="0.672"/>
                        </LinearGradientBrush>
                    </Grid.Background>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid VerticalAlignment="Top" Grid.Row="0" >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <TextBlock x:Name="accountName" TextWrapping="Wrap" Text="{Binding Name}" HorizontalAlignment="Left" Foreground="White"/>
                        <TextBlock x:Name="accountType" TextWrapping="Wrap" Text="{Binding Type}" Foreground="White" HorizontalAlignment="Right" Grid.Column="1"/>
                    </Grid>
                    <Grid VerticalAlignment="Center" Grid.Row="1" >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <TextBlock TextWrapping="Wrap" Text="Balance:" HorizontalAlignment="Left" Foreground="White"/>
                        <TextBlock x:Name="accountBalance" TextWrapping="Wrap" Text="{Binding Balance}" HorizontalAlignment="Right" Foreground="White" Grid.Column="1"/>
                    </Grid>
                    <Grid VerticalAlignment="Bottom" Grid.Row="2" >
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition/>
                            <ColumnDefinition/>
                        </Grid.ColumnDefinitions>
                        <TextBlock TextWrapping="Wrap" Text="Available Balance:" HorizontalAlignment="Left" Foreground="White"/>
                        <TextBlock x:Name="accountAvailableBalance" TextWrapping="Wrap" Text="{Binding AvailableBalance}" HorizontalAlignment="Right" Foreground="White" Grid.Column="1"/>
                    </Grid>
                </Grid>
            </DataTemplate>

<Grid x:Name="LayoutRoot">
        <Grid.Background>
            <ImageBrush Stretch="Fill" ImageSource="/Assets/background.png"/>
        </Grid.Background>


        <ListBox x:Name="accountsList" Margin="20,136,20,0" ItemTemplate="{StaticResource AccountItem}"  />

    </Grid>

【问题讨论】:

  • "但我无法让数据显示" - 这不是一个真正的问题。

标签: c# .net xaml windows-phone-8


【解决方案1】:

尝试将 Horizo​​ntalContentAlignment 设置为 Strecth:

<ListBox x:Name="accountsList" Margin="20,136,20,0" ItemTemplate="{StaticResource AccountItem}">
    <ListBox.ItemContainerStyle>
        <Style TargetType="ListBoxItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多