问题标签 [xamarin.forms.collectionview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
97 浏览

c# - CollectionView 更新 ImageButton 滚动重复 UI 问题

我有一个CollectionView包含一个ImageButton. 按下图像时,我将 a.png 替换为 b.png。

这工作正常,但是当我向下滚动列表时,现在每 10 个项目显示 b.png!

如果不是设置button.source,我在保存到数据库后再次调用下面的行,这解决了我的问题,但是我从列表的顶部开始,而不是从我所在的当前位置开始:

button.source如果没有它在每 10 个项目上创建此错误,我该如何设置?

0 投票
1 回答
141 浏览

c# - 如何在 CollectionView 中使用 FindByName

如何FindByNameCollectionViewwithGestureRecognizers作为调用中实现。如有错误请指正。

在 .xaml

0 投票
1 回答
91 浏览

xaml - CollectionView GridItemsLayout 更改嵌套项(按钮)的背景颜色

我有一个关于 aCollectionView和 a的问题GridItemsLayout。在我的应用程序中,我有StackLayout一个水平的CollectionView(GridItemsLayout),其中包含一个绑定到某个类别的 Button。

每当单击/点击按钮时,它都会ListView根据类别过滤下面的(外科手术类型)。所有这些都工作正常,但是,我想通过更改类别/按钮来突出显示类别/按钮,BackgroundColor以查看当前用于过滤的类别。

我尝试使用VisualStates,但这不起作用,因为点击按钮实际上并没有改变SelectedItem(需要单击周围/父网格元素)。此外,更改VisualState仅应用于 Grid 的BackgroundColor,而不应用于实际按钮的 。

问题:如何通过更改背景颜色来突出显示当前类别/按钮?

0 投票
0 回答
78 浏览

xamarin - e.CenterItemIndex 变为 0,每次组发生变化(OS)

我在collectionViewiOS 中使用 Scrolled 事件。如果CollectionView包含组,e.CenterItemIndex则每次组发生变化时变为 0。有什么办法可以解决这个问题吗?

在 iOs 上:当一组collectionView将发生变化时,它又从 0 开始;在 iOS 上滚动时的示例:

另一方面在 Android 索引将有一个连续的增量

0 投票
1 回答
93 浏览

xaml - CollectionView 中的对象绑定无法与 SwipeItem 一起正常工作

在我的 ContentPage XAML 文件中,我有一个 CollectionView 设置,如下所示:

Items 是一个 ObservableCollection。问题在 SwipeItems 中根深蒂固,Commands 执行良好,但 CommandParameter 有时会为 null,而有时会得到预期的绑定 TItem 对象。在 CommandParameter 属性上使用{Binding .}时的行为是相同的。

调试时,当返回空值时,我从 {Binding .} 转到 {Binding} 或反之亦然,它开始按预期工作。

命令在 viewModel 上声明如下:

ViewModel 被实例化并分配给 ContentPages 构造函数上的 BindingContext。

0 投票
1 回答
1584 浏览

c# - Xamarin.Forms 在 CollectionView 中实现延迟加载

这是我的 CollectionView xaml 文件:

这是 ViewModel 中的构造函数:

这是 ViewModel 中我如何获取数据的代码:

当读取 100,200,500 个数据条目时,此代码工作得非常好。但是当我读取 5000 个数据条目时,应用程序被冻结并想要强制停止。等待大约 2-3 分钟显示数据。所以我想为延迟加载或无限滚动实现一些逻辑。这是命令函数RemainingItemsThresholdReachedCommand,应该为滚动数据编写逻辑:

我不明白延迟加载或滚动是如何工作的。有人可以帮忙吗?

0 投票
1 回答
372 浏览

c# - 如何在 CollectionView(水平)中直观地使我的选定项目显示在我的屏幕中心?

我有ListView一些项目,当我选择其中一个项目时,我将移动到一个新页面,其中包含一个 Horizo​​ntal CollectionView,其中 mySelectedItem作为我之前在页面上选择的项目。我有这部分工作。

我的问题是,如果我之前在页面上选择的项目离右侧太远(必须滚动才能到达它),那么我SelectedItem将不会自动显示在屏幕上。

带有可见所选项目的图像:

所选项目不可见的图像:

如您所见,当我选择项目“cat 7”时,它在页面上不可见。

我想要的结果是,一旦从之前的页面中选择了一个项目,它将始终立即在下一页上可见。

有人知道我可以达到这个结果的方法吗?

我的xml:

我的视图模型:

0 投票
2 回答
494 浏览

xamarin.forms - CollectionView VisualStateManager 无法更改选择颜色

我正在尝试自定义 CollectionView 中单元格的选择颜色,但无论我如何尝试,它总是丑陋的灰色。

我希望我的项目模板有圆角,但是当我选择一个项目时,我看到它后面有丑陋的方形灰色角,如下图所示:

丑陋的灰色角落

这是我当前的 XAML:

我的代码隐藏:

我也尝试过其他方法,但没有任何效果。

有没有办法做到这一点,或者这只是 CollectionView 的一个错误?

0 投票
1 回答
849 浏览

c# - Xamarin 社区工具包 TouchEffect.Command 在 CollectionView 中不起作用

我正在尝试在 CollectionView 中长按和短按命令。我正在使用 Xamarin.Community.ToolKit 但未调用目标 ViewModel 命令。TouchEffect 在 CollectionView 之外时有效。但不是当它在 CollectionView 内时。

下面是集合视图:

目标视图模型属性:

构造函数:

方法:

0 投票
1 回答
64 浏览

c# - 如何从代码中在 CollectionView 中添加 SelectionChanged?

我想在点击集合视图的单元格(在cs中创建)时调用一个函数。

这是代码:

如您所见,我尝试使用注释的代码进行操作,但它不起作用。在 XAML 文件中,我使用了 SelectionChanged 函数并且它有效,为什么在 cs id 中没有?

等待您的反馈,谢谢。