我有一个包含20个项目的Listview.我想以编程方式滚动Listview.
ListView?.ScrollIntoView(ListView.Items[0])
Run Code Online (Sandbox Code Playgroud)
将列表视图滚动到第一个项目.
ListView?.ScrollIntoView(ListView.Items.Count - 1)
Run Code Online (Sandbox Code Playgroud)
将列表视图滚动到页面底部.
但是,我无法使用相同的功能将列表视图滚动到中间的项目.
Eg: ListView?.ScrollIntoView(ListView.Items[5])
Run Code Online (Sandbox Code Playgroud)
应该滚动并带我到列表的第5项.但它把我带到了列表的第一项.
如果通过一些解决方法可以实现这种行为,那会很棒吗?
我正在开发一个Windows商店的JavaScript应用程序.该应用程序使用来自azure移动服务的数据.考虑以下代码:
var itemTable = mobileService.getTable('item');
//item is the table name stored in the azure database
Run Code Online (Sandbox Code Playgroud)
代码获取整个表item并将其保存到变量中itemTable.
什么代码将返回itemTable??中存在的行数
javascript azure windows-8 azure-mobile-services windows-store-apps
当列表视图具有焦点时,按下回车键的默认行为是选择列表视图的第一个元素,向上和向下箭头键滚动列表视图.我试图阻止这种默认行为并挂钩我的自定义逻辑.
我可以使用KeyDown为列表视图实现Access键,如下所示:
代码背后的方法:
CoreWindow.GetForCurrentThread().KeyDown += KeyDownHandler;
Run Code Online (Sandbox Code Playgroud)
MVVM方法:
<ListView SelectedIndex="{Binding IsSelected, Mode=TwoWay}"/>
Run Code Online (Sandbox Code Playgroud)
触发Keydown属性:
<core:EventTriggerBehavior EventName="KeyDown">
<core:InvokeCommandAction Command="{x:Bind VMDataContext.KeyDownCommand}" />
</core:EventTriggerBehavior>
Run Code Online (Sandbox Code Playgroud)
并使用行为将列表视图的滚动条滚动到所选索引:
<corebehaviors:ListViewScrollBehaviour SelectedIndex="{x:Bind IsSelected, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)
当列表视图没有焦点时,上面的处理程序会被触发.当列表视图具有焦点时,箭头向上,向下和Enter键的默认行为将被触发,而不是我的附加行为.有没有办法防止默认行为?