C# 如何在一行上阻止ListView溢出
我想创建一个listview,其中包含一些项目。 每个项目都有一个特定的大小(所有项目都相同),可以单击 我已经创建了listview,但是一旦我达到listview的最大宽度大小,它就会在第二行上进行包装。我想有一个水平滚动条和我的所有项目在一行 例如,我有5项,但它显示: 我想有水平滚动条,能够看到第五个 以下是我的xaml代码:C# 如何在一行上阻止ListView溢出,c#,wpf,xaml,listview,C#,Wpf,Xaml,Listview,我想创建一个listview,其中包含一些项目。 每个项目都有一个特定的大小(所有项目都相同),可以单击 我已经创建了listview,但是一旦我达到listview的最大宽度大小,它就会在第二行上进行包装。我想有一个水平滚动条和我的所有项目在一行 例如,我有5项,但它显示: 我想有水平滚动条,能够看到第五个 以下是我的xaml代码: <ListView Background="#1A1A1A" HorizontalAlignment="Stretch" Margin="10,0,10,
<ListView Background="#1A1A1A" HorizontalAlignment="Stretch" Margin="10,0,10,0" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Auto" Height="100" ItemsSource="{Binding Projects}" SelectionChanged="ListView_SelectionChanged">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
ItemWidth="{Binding (ListView.View).ItemWidth, RelativeSource={RelativeSource AncestorType=ListView}}"
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}"
ItemHeight="{Binding (ListView.View).ItemHeight, RelativeSource={RelativeSource AncestorType=ListView}}" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#CCCCCC" BorderThickness="1">
<StackPanel Orientation="Horizontal" Height="100" Width="200">
<TextBlock Height="100" Width="200" FontSize="20" Padding="0,25,0,0" TextAlignment="Center" Foreground="#1A1A1A" Background="{Binding BackgroundColor}" Text="{Binding Title}" />
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您可以将包裹面板更改为堆叠面板
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
ItemWidth="{Binding (ListView.View).ItemWidth, RelativeSource={RelativeSource AncestorType=ListView}}"
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}"
ItemHeight="{Binding (ListView.View).ItemHeight, RelativeSource={RelativeSource AncestorType=ListView}}" />
</ItemsPanelTemplate>
到
我只是快速浏览了一下,你确定你想要WrapPanel吗?我可以改变它,只要它能满足我的需要:)让它成为堆栈面板,看看它能让我有多蠢。。。复制/粘贴不好。:)谢谢你,伙计@泥马鞍你岩石!!!我试图找出这一个lol的问题是什么。最好把它作为一个答案来发布,以赢得一些分数
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Width="{Binding (FrameworkElement.ActualWidth), RelativeSource={RelativeSource AncestorType=ScrollContentPresenter}}"
MinWidth="{Binding ItemWidth, RelativeSource={RelativeSource Self}}" />
</ItemsPanelTemplate>