Как установить значение IsEnabled в значение true, если свойство привязки имеет значение false

#c# #xaml #xamarin.forms #data-binding

Вопрос:

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

 <Label Text="Simulate" />
<CheckBox IsChecked="{Binding Simulate}"/>

<Label Text="Route Path"/>
<Entry Text="{Binding RoutePath}" IsEnabled="{Binding Simulate}"/>
 

Ответ №1:

Используйте преобразователь значений, такой как InvertedBoolConverter, из пакета xamarin community toolkit:

 xmlns:xct="http://xamarin.com/schemas/2020/toolkit"

<Entry Text="{Binding RoutePath}"
       IsEnabled="{Binding Simulate, Converter={xct:InvertedBoolConverter}}"/>