LPa*_*ins 2 longlistselector windows-phone-8.1
Windows Phone Toolkit for Windows Phone 8.0有一个名为LongListMultiSelector的控件,它提供了一种非常酷的方式来选择项目.它将项目内容稍微移动到右侧,以便用户可以点击该区域以选择该项目.默认的电子邮件应用程序具有我想要实现的确切行为.
我试图在Windows Phone 8.1 Windows运行时应用程序中实现相同的行为,但我很难完成它.由于LongListMultiSelector继承自一个简单的控件,我认为有可能将其转换为Windows Phone 8.1,但如果我可以避免它,我宁愿不这样做.
无论如何,有没有人这样做或知道如何做到这一点?
没有理由使用CheckBox实现DataTemplate.ListView已经支持多种选择模式,并且自WinRT和Windows 8以来一直支持它.
基本上,您需要做的就是将SelectionMode更改为多个,CheckBoxes将出现在左侧,就像您习惯使用LongListMultiSelector一样.
假设您有一个像这样的虚拟ListView,带有硬编码的项目,以保持简单:
<ListView x:Name="ListViewMultiSelector" SelectionMode="None">
<ListViewItem>Dog0</ListViewItem>
<ListViewItem>Dog1</ListViewItem>
<ListViewItem>Dog2</ListViewItem>
<ListViewItem>Dog3</ListViewItem>
<ListViewItem>Dog4</ListViewItem>
<ListViewItem>Dog5</ListViewItem>
</ListView>
Run Code Online (Sandbox Code Playgroud)
如果您在后面的代码中更改SelectionMode(在某些事件上,按钮单击,页面点击,滑动,等等)
this.ListViewMultiSelector.SelectionMode = ListViewSelectionMode.Multiple;
Run Code Online (Sandbox Code Playgroud)
它会显示CheckBoxes.
在SelectionChanged事件中(在SelectionChangedEventArgs中更准确),您可以获取AddedItems和RemovedItems,一个对象列表 - IList.AddedItems包含可能触发SelectionChanged的最新选定项,RemovedItems包含可能触发SelectionChanged的最新未选项.
归档时间: |
|
查看次数: |
1614 次 |
最近记录: |