.net 如何在MAUI中根据绑定值显示文本

5lhxktic  于 2023-01-14  发布在  .NET
关注(0)|答案(2)|浏览(178)

我在集合视图中有一个标签。它有一个名为IsCd的绑定值,并且它只返回0或1。如果它返回1,我需要显示yes,否则显示no

<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。

o4hqfura

o4hqfura1#

你看过Binding value converters的官方文档了吗?你可以创建一个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中使用它。

gorkyyrv

gorkyyrv2#

您可以使用转换器或使用触发机制:

<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>

相关问题