Xamarin.Forms ListView选中的项目将保持突出显示状态,直到取消选中或选中其他项目为止

时间:2019-01-03 23:35:49

标签: listview xamarin.forms selecteditem

我试图弄清楚如何使一个项目保持选中状态(突出显示),直到选中另一个项目或取消选中选中的项目为止。

当前,我在视图模型中具有其ItemSelected绑定到SelectedCar属性的Cars的列表视图。如果我点击某个项目,则将SelectedCar属性设置为被点击的项目,并且该项目会被短暂突出显示(以显示已被点击),但是稍后,突出显示消失。这是Xamarin中所有默认的Listview行为。

但是,由于我不打算在选择项目后计划启动操作,而是一旦用户选择了该项目然后点击一个按钮,则我想使该项目保持突出显示状态,直到点击该按钮或直到另一个项目为止由用户选择。

当前,我的XAML如下:

<ListView x:Name="lstCars" ItemsSource="{Binding Cars}" SelectionMode="Single" 
            CachingStrategy="RecycleElement" SelectedItem="{Binding SelectedCar}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                ...
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

,并且我的视图模型将SelectedCar属性绑定到SelectedItem,例如:

private CarDataModel _selectedCar;
public CarDataModel SelectedCar 
{ 
    get { return _selectedCar; }
    set
    {
        if (_selectedCar != value)
        {
            _selectedCar = value;
            OnPropertyChanged();
        }
    }
}

这一切都很好,但是我希望我点击的项目保持突出显示(以便用户看到它被选中),直到我点击一个按钮或直到我点击另一个项目来选择它为止。

0 个答案:

没有答案