Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 具有水平项的ListView_Wpf_Xaml_Listview_Win Universal App_Uwp - Fatal编程技术网

Wpf 具有水平项的ListView

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}" >

我来自WPF,我不知道是否有可能制作一个列表视图来水平分布项目,包括鼠标滚轮滚动(鼠标设备)和滑动(触摸设备)

我已经试过了,但它的表现和垂直的不一样。示例:我无法使用鼠标滚轮滚动

<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>