Можно ли сделать цвет фона поля Canvas зависимым от его значения? - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу, чтобы цвет фона одного поля даты и времени зависел от его значения. Например, если определенная дата пройдена, фон меняется на красный. Есть ли способ сделать это в XAML?

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

<Canvas Canvas.Left="893" Canvas.Top="208" Height="25" Width="99" Background="red" Panel.ZIndex="-1"/>

 <assembly:FieldControl Canvas.Left="890" Canvas.Top="206" FieldControlType="DateControl" FormField="{x:Null}" Height="25" LabelColumnWidth="0" Refnr="123456789" ShowCaption="False" StateImageAlignment="Hidden" Width="106" FontSize="10" Foreground="DimGray"/>

пока это мой код. Часть холста делает фон красным. Я также попытался поместить свойство background в «FieldControl», но там оно бесполезно.

EDIT: После получения информации о том, что привязка данных может помочь мне решить эту проблему, я проверил ее следующим образом:

    <TextBox  Canvas.Left="890" Canvas.Top="226" Name="Date" Width="99" Height="25" VerticalAlignment="Top" Text="{Binding ElementName=Date, Path = SelectedItem.Content, Mode = TwoWay, UpdateSourceTrigger = PropertyChanged}" Background="{Binding ElementName=Date, Path=SelectedItem.Content}">

Но это не то направление, в котором я нуждаюсь. Есть ли у вас какие-либо предложения, как я могу использовать привязку данных для решения моей проблемы?

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Для этого вы можете реализовать IValueConverter.

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/data-binding/converters

Вы можете проверить значение привязки и вернуть цвет фона.

как задать разный цвет текста для каждого элемента списка в формах xamarin

0 голосов
/ 17 апреля 2019

Да, это возможно. Концепция, которую вам нужно изучить, это Привязка данных XAML.

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