Xaml 固定windows phone上的网格宽度
我想知道你是否指导我,如何在windows phone上固定网格宽度或griditem宽度。实际上我是xaml和windows phone的初学者。这是我的xaml代码:Xaml 固定windows phone上的网格宽度,xaml,windows-phone,Xaml,Windows Phone,我想知道你是否指导我,如何在windows phone上固定网格宽度或griditem宽度。实际上我是xaml和windows phone的初学者。这是我的xaml代码: <Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0"> <ListBox x:Name="ListBoxCountry" SelectionChanged="ListBoxCountry_SelectionChang
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0,0,0,0">
<ListBox x:Name="ListBoxCountry" SelectionChanged="ListBoxCountry_SelectionChanged">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="#FFD0D2D3" Height="180">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="Assets/images/icon_bubble_white.png" Stretch="None" Margin="-107,0,0,0" />
<Image Grid.Column="0" Source="{Binding Icon}" Height="50" Width="50" Stretch="Fill"/>
<TextBlock Grid.Column="1" TextAlignment="Center" Text="{Binding Title}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
和listbox的丑陋视图,您可以看到网格项没有合适的宽度大小:
一般来说,我希望只要在
列表框中点击HorizontalContentAlignment=“Stretch”
就可以很好地完成它,但不管出于什么原因,你说的都没有切掉它,所以我们就去告诉ItemContainerStyle
谁是老板,不管它喜欢还是不喜欢
把我们带到更像
<Grid x:Name="ContentPanel" Grid.Row="1">
<ListBox x:Name="ListBoxCountry"
SelectionChanged="ListBoxCountry_SelectionChanged"
HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
<!-- Tell it to do as you wish.
Might also use BasedOn if you want to inherit the default stuff with it. -->
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="#FFD0D2D3" Height="180">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="Assets/images/icon_bubble_white.png" />
<Image Source="{Binding Icon}" Height="50" Width="50" Stretch="Fill"/>
<TextBlock Grid.Column="1" Text="{Binding Title}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="White" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
希望这有帮助,干杯。您是否尝试删除ColumnDefinition上的Width=“Auto”?“自动”表示它只占用所需的空间,而不是跨越父控件。您希望它看起来像什么?将HorizontalContentAlignment=“Stretch”
添加到您的ListBox
应该可以修复该部分,但该图像上的-107左边距是故意的吗?@ErikElkins感谢您的回复,是的,我使用了,但没有更改。@ChrisW。现在我使用了HorizontalContentAlignment=“Stretch”,并删除了该页边距。但是没有变化。我想看到每一排都伸展开来。如您所见,视图存在行宽度问题,真的吗?直接在列表框本身(而不是itemtemplate)上,它没有这样做吗?啊,没想到。我想还得再看一眼。很酷的交易,很高兴你拿到了:)