gpt4 book ai didi

windows-phone-8.1 - 如何在 Windows Phone 8.1 运行时的 ListView 中模拟 LongListMultiSelector 的选择行为

转载 作者:行者123 更新时间:2023-12-02 06:17:24 25 4
gpt4 key购买 nike

Windows Phone 8.0 的 Windows Phone 工具包有一个名为 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>

如果您在后面的代码中更改 SelectionMode(在某些事件、按钮单击、页面点击、滑动等)

this.ListViewMultiSelector.SelectionMode = ListViewSelectionMode.Multiple;

它将显示复选框。

在 SelectionChanged 事件中(更准确地说是在 SelectionChangedEventArgs 中),您可以获得 AddedItems 和 RemovedItems,一个对象列表 - IList。 AddedItems 包含可能触发 SelectionChanged 的​​最新选中项目,RemovedItems 包含可能触发 SelectionChanged 的​​最新未选中项目。

关于windows-phone-8.1 - 如何在 Windows Phone 8.1 运行时的 ListView 中模拟 LongListMultiSelector 的选择行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com