c#或WinJS: GridView可以用鼠标滚动
本文关键字:鼠标 滚动 GridView WinJS | 更新日期: 2023-09-27 18:02:48
我正在启动一个Windows 8应用程序,我一直在尝试创建一个GridView,它的行为就像一个Carousel/Coverflow,这意味着它将是可滚动的:
- 手指触摸(工作正常)
- 鼠标滚轮(它工作正常)
- 鼠标点击和拖动(它不工作在GridView本身,只在滚动条)
My attempt in c#/XAML:
<GridView
x:Name="itemGridView"
ItemsSource="{Binding Source={StaticResource itemsSource}}"
ItemTemplate="{StaticResource ItemTemplate}"
IsItemClickEnabled="True"
ItemClick="GoToItemDetails"
SelectionMode="None"
IsSwipeEnabled="false"
/>
My attempt in WinJS/HTML:
<div
data-win-control="WinJS.UI.ListView"
data-win-options="{layout: {type: WinJS.UI.GridLayout},
itemDataSource: items.dataSource,
itemTemplate: select('.itemTemplate'),
selectionMode: 'none',
swipeBehavior: 'none'}"
class="itemGridView win-selectionstylefilled"
></div>
对于这两个,我找不到一种方法让鼠标像手指触摸一样点击&滚动。我不想用小滚动条,我想让整个GridView可以用鼠标滚动。这可能吗?
这是设计。你所描述的交互模式是对ListView/GridView控件的期望,即:
- 触摸-点击并拖动以滚动
- 鼠标-滚动滚轮,或通过点击和拖动滚动条
- 键盘-用L/R方向键或PgUp/PgDn/Home/End滚动
你想要添加的交互模式的问题是,它在用户可能想要拖动重新排列ListView/GridView中的项目顺序的情况下失败(想想开始屏幕是如何工作的)。控件必须能够支持这些场景,因此它们不支持通过单击和拖动滚动的概念。
希望有帮助。
有关构建Windows Store应用程序的更多信息,请注册App Builder。