Wpf 具有水平项的ListView
我来自WPF,我不知道是否有可能制作一个列表视图来水平分布项目,包括鼠标滚轮滚动(鼠标设备)和滑动(触摸设备) 我已经试过了,但它的表现和垂直的不一样。示例:我无法使用鼠标滚轮滚动Wpf 具有水平项的ListView,wpf,xaml,listview,win-universal-app,uwp,Wpf,Xaml,Listview,Win Universal App,Uwp,我来自WPF,我不知道是否有可能制作一个列表视图来水平分布项目,包括鼠标滚轮滚动(鼠标设备)和滑动(触摸设备) 我已经试过了,但它的表现和垂直的不一样。示例:我无法使用鼠标滚轮滚动 <ListView ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Auto" ItemsSource="{Binding Collection}" >
<ListView ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Auto" ItemsSource="{Binding Collection}" >
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
好的,我找到了一个方法让它工作 这就是我所拥有的。我不知道它是否配置好,建议
<ListView ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollMode="Enabled"
ScrollViewer.VerticalScrollMode="Disabled"
ItemsSource="{Binding Collection}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Background="Transparent" Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
这更简单,可能会有帮助:
<ListView>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
将Background=“Transparent”
添加到您的面板中,以使其具有HittTestVisibility,您的鼠标滚轮应该可以使用。@ChrisW我尝试了您的更改,但对我无效。在Windows 10 PC(通用应用程序)中测试,我在这里写了一些额外的细节:)啊,好吧,Background=transparent技巧是一个旧的silverlight技巧,我有时在使用新的通用工具时仍然会遇到它,因为它很多都是基于silverlight的,如果你在那里有这个属性并且它有效,你可以放弃它,很高兴你找到了补救方法!
<ListBox Height="50" VerticalAlignment="Top">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBoxItem Content="aaaaaaaaaaa"/>
<ListBoxItem Content="aaaaaaaaaaa"/>
<ListBoxItem Content="aaaaaaaaaaa"/>
<ListBoxItem Content="aaaaaaaaaaa"/>
<ListBoxItem Content="aaaaaaaaaaa"/>
</ListBox>