我试图弄清楚如何使一个项目保持选中状态(突出显示),直到选中另一个项目或取消选中选中的项目为止。
当前,我在视图模型中具有其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();
}
}
}
这一切都很好,但是我希望我点击的项目保持突出显示(以便用户看到它被选中),直到我点击一个按钮或直到我点击另一个项目来选择它为止。