Привет, ребята, мне нужна помощь.
Я использую конвертер для привязки, чтобы установить цвет фона в зависимости от идентификатора объекта. (Stacklayout внутри contentview)
<StackLayout.BackgroundColor>
<Binding Path="objectID" Converter="{StaticResource IntToColorConverter}"/>
</StackLayout.BackgroundColor>
Это работает . Теперь я хочу использовать мультиконвертер (новый в Xamarin 4.7) для возврата другого цвета фона в зависимости от других свойств объекта. (Для контекста: объект является календарем, и если он в прошлом, он должен быть ненасыщенным или что-то в этом роде)
<StackLayout.BackgroundColor>
<MultiBinding Converter="{StaticResource MultiColorConverter}">
<Binding Path="objectID"/>
<Binding Path="value"/>
<Binding Path="value2"/>
</MultiBinding>
</StackLayout.BackgroundColor>
Это не работает, поскольку все значения, которые передаются конвертеру, равны NULL, а цвет становится черным (возвращаемое значение, если все vslues равны NULL; значит, конвертер также настроен правильно). Это также показывает, когда я использую точку останова на преобразователе, что массив содержит только переменные NULL.
Я не знаю, что мне здесь не хватает, контекст привязки должен быть унаследован и не изменяется. Приветствуются любые подсказки.
Контекст привязки устанавливается программно на странице содержимого при создании ContentView, где я предоставляю объект из списка объектов.
var evnt = new TimeTableEventView { BindingContext = Model.calenderevents[j] };