Xamarin Forms Listview Закругленный угол Cell выделение серым цветом - PullRequest
0 голосов
/ 31 октября 2018

Я нахожу решение, чтобы настроить затемнение ячеек списка при касании с закругленными углами

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

This is what I'm having now But I need to make the greyout as the next image

** Это то, что я ожидаю !!! This is what I'm expecting!!!

<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>

1 Ответ

0 голосов
/ 31 октября 2018

Я полагаю, у вас есть свойство 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 этого конкретного элемента списка на серый цвет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...