XAML 尝试在DisplayActionSheet中显示数据

5uzkadbs  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(139)

我有一个collectionview从contentpage中的一个类Terms中提取所有数据,我有一个SelectionChanged事件处理程序,它将提取组成所选术语的所有课程。

private async void termsCollectionView_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if(e.CurrentSelection != null)
        {
            Terms terms = (Terms)e.CurrentSelection.FirstOrDefault();
            await Navigation.PushAsync(new TermView(terms));
        }
    }

然后编辑术语为

private async void EditTerm_Clicked(object sender, EventArgs e)
    {

    }

基本上,我需要在一个页面内有2个不同的选择。1个用于组成一个术语的课程,1个用于编辑该术语的所有信息。只是把这一块放在那里,以防有人有更好的方法。
我偶然发现了这个方法

await DisplayActionSheet()

我想知道是否有一种方法可以显示我当前必须从中选择的所有术语的列表。一旦选择了一个术语,通过EditTerms(termId)传递termId以查看所选术语的所有信息。我看过的所有视频都是通过字符串传递来选择的。
我并不介意把搜索词写成字符串来选择,但是搜索词是可伸缩的,可以随着时间的推移而增长或缩小,所以手动字符串并不太合理。
编辑-我在我的数据库类中有一个方法(使用sqlite)来获取术语,但我无法弄清楚访问它的语法。

public static async Task <IEnumerable<Terms>> GetTerms()
        {
            await Init();

            var terms = await _db.Table<Terms>().ToListAsync();
            return terms;
        }
cbwuti44

cbwuti441#

如果这是你的术语列表

var terms = await _db.Table<Terms>().ToListAsync();

您可以使用类似下面的内容构建一个数组(假设Term具有Name属性,请相应地进行调整)

var termarray = terms.Select(t => t.Name).ToArray();

相关问题