Xamarin.Forms ListView Выбранный элемент, чтобы оставаться выделенным, пока не отменен или выбран другой элемент - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь выяснить, как сохранить элемент, отображаемый как выбранный (выделенный таким образом), до тех пор, пока не будет выбран другой элемент или пока не отменен выбор выбранного элемента.

В настоящее время у меня есть представление списка автомобилей, у которых ItemSelected -привязан к свойству SelectedCar в моей модели представления.Если я нажимаю на элемент, свойство SelectedCar устанавливается на элемент, к которому подключен элемент, и элемент кратко выделяется (чтобы показать, что он был нажат) , но после этого выделение исчезает .Это все стандартное поведение Listview в Xamarin.

Однако, так как я не планирую инициировать действие после выбора элемента, но как только пользователь выбирает элемент, а затем нажимает на кнопку, я хочу оставить этот элемент без изменений.подсвечивается, пока не будет нажата кнопка, или пока пользователь не выберет другой элемент.

В настоящее время мой 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();
        }
    }
}

Все это работает нормально, но я бы хотел, чтобы элемент, к которому я прикасаюсь, оставался выделенным (чтобы пользователь видел, что он выбран), пока я не нажму на кнопку или пока не нажму на другой элементвыбрать его.

...