c# - 如何从代码中在 CollectionView 中添加 SelectionChanged?
问题描述
我想在点击集合视图的单元格(在cs中创建)时调用一个函数。
这是代码:
new StackLayout { Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
HeightRequest = 200,
Children = {
new CollectionView {
HorizontalOptions = LayoutOptions.FillAndExpand,
SelectionMode = SelectionMode.Single,
ItemTemplate = MainPage.cv.ItemTemplate,
ItemsLayout = MainPage.cv.ItemsLayout,
ItemsSource = MainPage.jsonList.Where(x => x.Giorno == MainPage.day && x.Pasto == Pasto_Array[i]),
}
//.SelectionChanged +=CheckDuplicazioni_SelectionChanged;
}
}
如您所见,我尝试使用注释的代码进行操作,但它不起作用。在 XAML 文件中,我使用了 SelectionChanged 函数并且它有效,为什么在 cs id 中没有?
等待您的反馈,谢谢。
解决方案
您可以通过将CollectionView
实例保存在变量中来做到这一点
var collectionView = new CollectionView()
{
HorizontalOptions = LayoutOptions.FillAndExpand,
SelectionMode = SelectionMode.Single,
ItemTemplate = MainPage.cv.ItemTemplate,
ItemsLayout = MainPage.cv.ItemsLayout,
ItemsSource = MainPage.jsonList.Where(x => x.Giorno == MainPage.day && x.Pasto == Pasto_Array[i]),
};
collectionView.SelectionChanged += CheckDuplicazioni_SelectionChanged;
new StackLayout
{
Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
HeightRequest = 200,
Children = {
collectionView
}
};
推荐阅读
- spring - Spring Boot actuator - 即使所有配置都已完成,也会出现 404 错误
- sql - 获取列 a 中的所有分组值,其中另一列中的所有值都为真
- python - python插入实时文本框
- docker - Kubernetes 无法提取图像,没有基本的身份验证凭据
- http - HTTP 方法 GET 可以与“multipart/form-data”编码一起使用吗?
- css - 在不同分辨率的文本网格后面一致地缩放和定位 SVG
- sql - 如何在 SQL 中创建一个自动填充的日期表
- node.js - 带有 ESLint 和 Prettier 的 TypeScript 轻量级脚本支持
- r - 高阶因子的 AVE 和 Omega 值(lavaan 和 semTools)
- python - Numpy 可以在 CPU 上击败 keras 矩阵乘法的运行时间吗?