У меня есть метка внутри представления коллекции. У него есть значение Binding, называемое IsCd, и оно возвращает только 0 или 1. Мне нужно отобразить yes, если оно возвращает 1, а если нет, то нет.
<CollectionView ItemsSource = "{Binding LHItems}">
<CollectionView.ItemTemplate>
<DataTemplate x:DataType = "models:NewAppliedLeave">
<VerticalStackLayout>
<Label Text = "{Binding IsCd}" Grid.Row = "0" Grid.Column = "4"/>
</VerticalStackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
Я ожидаю отображения да или нет ответа вместо 1 или 0 .
Вы проверяли официальный документ о преобразователях значений привязки ? Вы можете создать преобразователь IntToString, например:
public class IntToStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ( (int)value == 0 ){
return "no";
}
return "yes";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
}
}
И затем вы можете использовать его в xaml, как это делает пример кода в официальном документе.
Вы можете использовать конвертеры или использовать триггерный механизм:
<Label Grid.Row = "0" Grid.Column = "4">
<Label.Style>
<Style TargetType = "Label">
<Setter Property = "Text" Value = "no"/>
<Style.Triggers>
<DataTrigger Binding = "{Binding IsCd}" Value = "1">
<Setter Property = "Text" Value = "yes"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>