Xamarin XAML ListView - 如何通过编程进行选择

4
我正在使用Xamarin开发一个Windows Mobile应用,但好像无法程序化地设置选定的ListView项目。
我已经尝试了以下ListView方法,但仍然没有作用。
SelectedItem
ScrollTo()
Focus()

我已经谷歌了,找不到任何关于如何完成这个问题的信息。 我该怎么做?

你应该发布你正在尝试的代码,而这些代码并没有产生你想要的结果。 - Mark Larter
这些答案有帮助到您吗? - Mark Larter
4个回答

3

这在我的示例应用程序中运行良好:

public partial class ItemsPage : ContentPage
{
    public ItemsPage()
    {
        InitializeComponent();
        Vm = new ItemsViewModel();
        BindingContext = Vm;
    }

    protected override void OnAppearing()
    {
        ListviewItems.SelectedItem = Vm.Items[1];
    }

    public ItemsViewModel Vm { get; private set; }

在我的示例应用中,ItemsViewModel.Items 是一个 List<string>
OnAppearing 中运行这行代码后,列表中的第二项将被设置为选中状态。

1
我使用了一种方法,但可能不是最有效的。您可以将更改设置为由您的模型类型创建的列表,然后应该重新加载列表视图。
subjects[i].something=false;//set something

yourListView.ItemSource=null;
yourListView.ItemSource=subjects;

1

设置SelectedItem属性是正确的方法。您认为在设置此属性时发生了什么问题?


1

如果您想要滚动到特定位置,我正在使用

listChat.SetSelection(currentIndex);

在我的聊天应用程序中,它运行良好。如果您正在寻找滚动到所需位置的解决方案,即使我在互联网上搜索了解决方案,也没有帮助。最终,这是我的解决方法使其工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接