Windows 8 有没有办法在Windows 8 metro应用程序中获得一键滚动功能?

Windows 8 有没有办法在Windows 8 metro应用程序中获得一键滚动功能?,windows-8,microsoft-metro,windows-runtime,Windows 8,Microsoft Metro,Windows Runtime,在Windows 8 Consumer Preview中,在开始屏幕中将鼠标向左或向右移动会导致内容滚动 标准控件和当前发布的预览应用程序似乎不支持这一点 有什么方法可以实现这一点吗?您可以执行以下操作来获取鼠标移动到屏幕之外的信息,并使用增量信息滚动内容 使用Windows.Devices.Input; var mouse=MouseDevice.GetForCurrentView; mouse.MouseMoved+=mouse\u MouseMoved; 私有无效鼠标\u MouseMov

在Windows 8 Consumer Preview中,在开始屏幕中将鼠标向左或向右移动会导致内容滚动

标准控件和当前发布的预览应用程序似乎不支持这一点


有什么方法可以实现这一点吗?

您可以执行以下操作来获取鼠标移动到屏幕之外的信息,并使用增量信息滚动内容

使用Windows.Devices.Input; var mouse=MouseDevice.GetForCurrentView; mouse.MouseMoved+=mouse\u MouseMoved; 私有无效鼠标\u MouseMovedMouseDevice发送方,MouseEventArgs args { tb.Text=args.MouseDelta.X.ToString; }
您可以执行以下操作以获取鼠标移动到屏幕之外的信息,并使用增量信息滚动内容

使用Windows.Devices.Input; var mouse=MouseDevice.GetForCurrentView; mouse.MouseMoved+=mouse\u MouseMoved; 私有无效鼠标\u MouseMovedMouseDevice发送方,MouseEventArgs args { tb.Text=args.MouseDelta.X.ToString; }
今年我在TechEd North America上问了这个问题,是在一位UI平台的首席项目经理主持的一次会议之后

他的回答是:不,应用程序不能靠边缘推来滚动。WinJS和WinRT/XAML应用程序甚至无法获得您自己实现它所需的事件。应用程序在鼠标指针级别获取事件,一旦鼠标指针到达屏幕边缘,它就不能再移动了,你也不会获得更多的事件。嗯,它可能会上下摆动一点,但如果它撞到一个角落就不会了。无论如何,它不足以像开始屏幕那样滚动

他提到,如果你正在编写一个C++/DirectX应用程序,你将能够自己获得所需的原始鼠标输入——你可以通过DX,DY移动低级设备,而不是将高级指针移动到X,Y。我猜这就是开始屏幕的工作方式,尽管我不想问

但不,它不是内置的,除非你用低级C++/DirectX编写你的应用程序,否则你不能自己实现它,而且听起来他们似乎没有计划在Windows8发布之前添加它


就我个人而言,我认为与开始屏幕相比,他们让应用程序感觉到有问题是相当短视的,但显然他们并不关心诸如可用性之类的小事

今年,我在TechEd North America上问了这个问题,是在一位UI平台首席项目经理的一次会议之后

他的回答是:不,应用程序不能靠边缘推来滚动。WinJS和WinRT/XAML应用程序甚至无法获得您自己实现它所需的事件。应用程序在鼠标指针级别获取事件,一旦鼠标指针到达屏幕边缘,它就不能再移动了,你也不会获得更多的事件。嗯,它可能会上下摆动一点,但如果它撞到一个角落就不会了。无论如何,它不足以像开始屏幕那样滚动

他提到,如果你正在编写一个C++/DirectX应用程序,你将能够自己获得所需的原始鼠标输入——你可以通过DX,DY移动低级设备,而不是将高级指针移动到X,Y。我猜这就是开始屏幕的工作方式,尽管我不想问

但不,它不是内置的,除非你用低级C++/DirectX编写你的应用程序,否则你不能自己实现它,而且听起来他们似乎没有计划在Windows8发布之前添加它


就我个人而言,我认为与开始屏幕相比,他们让应用程序感觉到有问题是相当短视的,但显然他们并不关心诸如可用性之类的小事

我注意到,即使在演示应用程序中,这个功能也还没有出现。我希望他们将其作为默认值添加,这将是有意义的。鼠标/触摸兼容性仍然不是100%IMHO。您能建议如何重新编程吗?谢谢在“开始”菜单上按住鼠标左键不会导致我滚动任何内容。如果将“开始”屏幕上的鼠标移向屏幕的左/右边缘,它将开始滚动-无需按任何键。滚动的速度取决于向边缘移动的速度。这在任何预览应用程序或默认控件中都不起作用。这让我感觉很不一致,你有点希望在windows 8的metro部分中,所有像“开始”屏幕上的控件都以相同的方式运行。我想我必须先单击才能这样做-也许是为了设置焦点?它似乎可以检测鼠标移动,即使光标无法移动到屏幕边缘之外。我想你可以用DirectX做到这一点……我注意到,即使在演示应用程序中,这个功能也还没有实现。我希望他们将其作为默认值添加,这将是有意义的。鼠标/触摸兼容性仍然不是100%IMHO。您能建议如何重新编程吗?谢谢按住左键
“开始”菜单上的“我的鼠标”不会导致我滚动任何内容。如果您将“开始”屏幕上的鼠标移向屏幕的左/右边缘,它将开始滚动-您无需按任何键。滚动的速度取决于向边缘移动的速度。这在任何预览应用程序或默认控件中都不起作用。这让我感觉很不一致,你有点希望在windows 8的metro部分中,所有像“开始”屏幕上的控件都以相同的方式运行。我想我必须先单击才能这样做-也许是为了设置焦点?它似乎可以检测鼠标移动,即使光标无法移动到屏幕边缘之外。我想你可以用DirectX做到这一点……当然你可以这样做,但由于它在Windows8的“开始”菜单中本机工作,标准控件自然会直接支持它。无论如何,谢谢你的回答。当然你可以这样做,但是由于它在windows 8的“开始”菜单中本机工作,标准控件自然会直接支持它。无论如何,谢谢你的回答。