Привязка конвертера XAML для нескольких свойств - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу отобразить некоторый текст в сетке ListView форм Xamarin, основываясь на сравнении двух свойств даты.У меня есть конвертер для сравнения дат и возврата строки.То, что я пытаюсь сделать (безуспешно), передать весь объект преобразователю.

XAML:

<ResourceDictionary>
     <converters1:CancelConverter x:Key="CancelConverter" />
</ResourceDictionary>
...
<ListView.ItemTemplate>
<DataTemplate>
    <ViewCell>
        <Grid>
            <Label Grid.Column="0" Text="{Binding ., Converter={StaticResource CancelConverter}}" />
        </Grid>
    </ViewCell>
</DataTemplate>

Преобразователь:

public class CancelConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        Schedule schedule = ((Schedule)value);
        DateTime date1 = schedule.ProposedCollectionDate;
        DateTime date2 = schedule.OrderDate;
        if (date1.CompareTo(date2) < 0)
        {
            return "Cancel this order";
        }
    }
} 

Проблема в том, что в конвертере значение равно нулю.Как передать объект в конвертер вместо одного свойства объекта?

1 Ответ

0 голосов
/ 04 декабря 2018

То, что вы показали, выглядит хорошо для меня, но в том, что вы спрятали, может быть что-то плохое.Я не могу сказать, но правильно ли вы устанавливаете контекст привязки ListView, т.е. вы устанавливаете свойство ItemsSource?Исходя из предоставленной вами информации, вы должны установить для нее что-то вроде ObservableCollection<Schedule> или IEnumerable<Schedule>, и тогда каждый элемент в ListView будет иметь Schedule в качестве связующего контекста, и он попадет впреобразователь значений счастливо.

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