Xamarin Forms Listview Закругленный угол Ячейка выделена серым цветом

Я нахожу решение для настройки серого цвета ячейки списка при нажатии с закругленными углами

Это то, что у меня сейчас, но мне нужно сделать серый цвет в качестве следующего изображения

Xamarin Forms Listview Закругленный угол Ячейка выделена серым цветом

** Это то, чего я жду !!! Xamarin Forms Listview Закругленный угол Ячейка выделена серым цветом

<ListView ItemSelected = "ItemSelected" ItemsSource = "{Binding Patients}" SeparatorVisibility = "None">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <custom:RoundedCornerView RoundedCornerRadius = "12" Margin = "11,5.5,11,5.5" VerticalOptions = "FillAndExpand" >
                            <StackLayout Orientation = "Vertical" BackgroundColor = "White" Padding = "11" >
                                <Label Text = "{Binding WardName}".../>
                            </StackLayout>
                        </custom:RoundedCornerView>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>

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

FreakyAli 31.10.2018 08:28

@ G.hakim Да, Только пользовательский: представление RoundedCornerView должно быть выделено (вместо всей ячейки представления списка)

Dumindu De Silva 31.10.2018 08:36

Поэтому вам придется внести изменения в пару вещей, я обновлю ответ через некоторое время

FreakyAli 31.10.2018 08:42

Вам понадобится настраиваемый модуль визуализации ViewCell, чтобы удалить цвет выбора по умолчанию или изменить его на любой желаемый цвет. После этого добавьте TapGestureRecognizer и измените цвет фона прямоугольного представления onclick

Ali123 31.10.2018 08:43

@DuminduDeSilva - Можете ли вы показать custom:RoundedCornerView, чтобы узнать о доступных для него событиях.

R15 31.10.2018 09:30

@Arvindraja, пожалуйста, пройдите drive.google.com/…. Спасибо

Dumindu De Silva 31.10.2018 10:08

@DuminduDeSilva - Посмотрите мой ответ здесь, он может вам помочь stackoverflow.com/questions/25885238/…

R15 31.10.2018 10:10

@Arvindraja, спасибо. Здесь цвет не меняется, потому что мы пытаемся изменить цвет в списке, который создается с помощью OberverableCollection. Но мне удалось разобраться с помощью DynamicReources. Дело в том, что событие касания срабатывает при перемещении пальца вверх. Мне нужно вызвать его, как только палец нажмет

Dumindu De Silva 01.11.2018 11:36
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
8
1 013
1

Ответы 1

Я считаю, что у вас есть свойство BackgroundColor для пользовательского: RoundedCornerView. Вы можете назначить свойство привязки для BackgroundColor.

например: <custom:RoundedCornerView RoundedCornerRadius = "12" BackgroundColor= {Binding CellColor} Margin = "11,5.5,11,5.5" VerticalOptions = "FillAndExpand" >

В вашем классе модели, который привязан к этому ListView, вы можете иметь это свойство (предположим, что вы использовали INotifyPropertyChanged в классе модели.

    private string cellColor = "#ffffff";
public string CellColor
{
get { return cellColor;}
set { cellColor = value; OnPropertyChanged("CellColor");}
}

В ViewModel у вас может быть ICommand для запуска касания элемента списка. В методе, связанном с ICommand, у вас есть код для изменения цвета свойства CellColor этого конкретного элемента списка на серый цвет.

Спасибо за ответ. Здесь цвет не меняется, потому что мы пытаемся изменить цвет в списке, который создается с помощью OberverableCollection. Но мне удалось разобраться с помощью DynamicReources. Дело в том, что событие касания срабатывает при перемещении пальца вверх. Мне нужно вызвать его после нажатия пальца.

Dumindu De Silva 01.11.2018 11:33

Другие вопросы по теме