C# Xamarin XAML ListView-如何以编程方式选择

C# Xamarin XAML ListView-如何以编程方式选择,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我正在用Xamarin开发一个windows mobile应用程序,但似乎无法以编程方式设置选定的ListView项 我尝试了以下ListViews方法,但仍然一无所获 SelectedItem ScrollTo() Focus() 我也在谷歌上搜索过它,但似乎什么也说不出如何做到这一点。 如何执行此操作?设置SelectedItem属性是执行此操作的“正确”方法。设置时您认为不会发生的具体情况是什么?我使用了一种方法,但它可能不是最有效的方法。可以将更改设置为由模型类型创建的列表,然后应重新

我正在用Xamarin开发一个windows mobile应用程序,但似乎无法以编程方式设置选定的ListView项

我尝试了以下ListViews方法,但仍然一无所获

SelectedItem
ScrollTo()
Focus()
我也在谷歌上搜索过它,但似乎什么也说不出如何做到这一点。
如何执行此操作?

设置
SelectedItem
属性是执行此操作的“正确”方法。设置时您认为不会发生的具体情况是什么?

我使用了一种方法,但它可能不是最有效的方法。可以将更改设置为由模型类型创建的列表,然后应重新加载列表视图

subjects[i].something=false;//set something

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

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

listChat.SetSelection(当前索引)

在我的一个聊天应用程序中,它运行良好


如果您正在寻找滚动到所需位置的解决方案,即使我在互联网上搜索了该解决方案,也没有任何帮助。最后,这是我的工作,让它工作。

这在我的示例应用程序中效果很好:

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
是一个
列表


列表中的第二项是在这行代码在出现时运行后设置为选中的

您应该发布您正在尝试的代码,但该代码没有产生您想要的结果。这些答案对您有帮助吗?