gpt4 book ai didi

listview - 如何在 ListView 中拉伸(stretch) ListView 项

转载 作者:行者123 更新时间:2023-12-02 09:10:12 34 4
gpt4 key购买 nike

开发人员。

我尝试在水平方向拉伸(stretch) ListView 项目。我确实重置了 ItemContainerStyle ,并且水平对齐是拉伸(stretch)的。这是 MainPage.xaml 中的所有代码。

<Grid x:Name="rootGrid"
HorizontalAlignment="Stretch"
MinWidth="320"
MaxWidth="480"
Width="Auto">
<ListView x:Name="infoFlowListView"
MinWidth="320"
MaxWidth="480"
Width="Auto"
HorizontalAlignment="Stretch">
<ListView.ItemTemplate>
<DataTemplate>
<local:MyUserControl1 MinWidth="300" HorizontalAlignment="Stretch"></local:MyUserControl1>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalAlignment" Value="Stretch"></Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>

这是MainPage.xaml.cs中的所有代码

public MainPage()
{
var items = new List<MyUserControl1>();
for (int i = 0; i < 50; i++)
{
items.Add(new MyUserControl1());
}
this.InitializeComponent();
infoFlowListView.ItemsSource = items;
}

这是 MyUserControl.xaml 中的所有代码

<Grid>    
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="4*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="8"></RowDefinition>
</Grid.RowDefinitions>

<Ellipse Width="60" Height="60"
Grid.Column="0" Grid.Row="0" Grid.RowSpan="3"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Stretch="Uniform">
<Ellipse.Fill>
<ImageBrush ImageSource="Assets/1.png"></ImageBrush>
</Ellipse.Fill>
</Ellipse>

<RelativePanel x:Name="topRelativePanel"
Grid.Column="1" Grid.Row="0"
HorizontalAlignment="Stretch">
<TextBlock Text="TestName"
VerticalAlignment="Bottom"
RelativePanel.AlignLeftWithPanel="True"
FontSize="12"
HorizontalAlignment="Stretch"></TextBlock>
<TextBlock Text="Author"
VerticalAlignment="Bottom"
RelativePanel.AlignRightWithPanel="True"
FontSize="12"
HorizontalAlignment="Stretch"
Margin="0,0,8,0"></TextBlock>
</RelativePanel>

<TextBlock x:Name="nameTextBlock"
Grid.Column="1" Grid.Row="1"
Text="Name"
TextTrimming="WordEllipsis"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
FontSize="18" >
</TextBlock>

<Grid x:Name="bottomGrid"
Grid.Column="1" Grid.Row="2"
VerticalAlignment="Top"
HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="3*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
HorizontalAlignment="Stretch"
Text="90"></TextBlock>
<TextBlock Grid.Column="1"
HorizontalAlignment="Stretch"
Text="48"></TextBlock>
<TextBlock Grid.Column="2"
HorizontalAlignment="Stretch"
Text="20170330 08:33"
Margin="0,0,0,0"></TextBlock>
</Grid>

<Border Background="LightGray"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2"></Border>

我在 6 英寸模拟器上测试了这些代码,并添加了此示例的屏幕截图。

移动模拟器没有相同的结果。这是不同模拟器的屏幕截图。 4inch screen shot of example这些屏幕截图的右侧有所不同。

最佳答案

I try to stretch listview item in horizontal orientation.

您需要设置 ListViewItemHorizo​​ntalContentAlignment 属性,而不是 Horizo​​ntalAlignment。使用以下代码,ListViewItem 的内容将拉伸(stretch)。

<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
</Style>
</ListView.ItemContainerStyle>

默认的ListViewItem style and template不会打开 Horizo​​ntalAlignment setter,而是打开 Horizo​​ntalContentAlignment

关于listview - 如何在 ListView 中拉伸(stretch) ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43094395/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com