Изменить цвет фона в выбранном элементе. Xamarin Forms - PullRequest
0 голосов
/ 07 сентября 2018

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

ColorConverter

    public class ColorElementSelectionConverter : ElementSelectionConverter<ColorResponseModel>
{
    protected override bool Equals(ColorResponseModel selectedElement, ColorResponseModel currentElemnt)
    {
        return selectedElement.Id.Equals(currentElemnt.Id);
    }
}

ElementSelectConverter

    public abstract class ElementSelectionConverter<T> : IValueConverter where T: class
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var selectedElement = value as T;
        if(selectedElement == null) return false;

        var viewCell = parameter as ViewCell;
        if(viewCell == null) return false;

        var currentElemnt = viewCell.BindingContext as T;
        if(currentElemnt == null) return false;

        return Equals(selectedElement, currentElemnt);
    }

    protected virtual bool Equals(T selectedElement, T currentElemnt)
    {
        return selectedElement.Equals(currentElemnt);
    }

View

 <ViewCell x:Name="ColorViewCell">
                    <Grid Margin="0,0,0,0" HeightRequest="36" VerticalOptions="Center">
                        <Grid.Triggers>
                            <DataTrigger TargetType="Grid" 
                                         Binding="{Binding Path=BindingContext.Color, Source={x:Reference Name=CarColorListPopup},Converter={StaticResource ColorElementSelectionConverter},
                                ConverterParameter={x:Reference Name=ColorViewCell}}" Value="true">
                                <Setter Property="BackgroundColor" Value="#388FEE" />
                            </DataTrigger>

1 Ответ

0 голосов
/ 07 сентября 2018

Чтобы изменить цвет фона выбранного элемента в списке, найдите решение, приведенное здесь:

Изменить цвет фона выбранного элемента списка

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

Надеюсь, это поможет вам!

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