Xaml 将true/false替换为特定listview和特定列中的不同文本或复选标记

Xaml 将true/false替换为特定listview和特定列中的不同文本或复选标记,xaml,xamarin,xamarin.forms,Xaml,Xamarin,Xamarin.forms,我得到了如下所示的listview。我正在寻找一种方法来代替true/false显示其他文本或放置复选标记。我怎样才能做到这一点 重要备注:我有很多页面都有不同的列表视图,其中也显示了true/false。我希望能够选择为哪个listview定义解决方案,以及我可以选择的最佳listview和列(当然,如果可能的话) 阿斯达斯达斯德 放置真/假值的特定部分(瓶子已填充): <ListView.ItemTemplate> <DataTemplate>

我得到了如下所示的
listview
。我正在寻找一种方法来代替
true/false
显示其他
文本
或放置
复选标记
。我怎样才能做到这一点

重要备注:我有很多页面都有不同的列表视图,其中也显示了true/false。我希望能够选择为哪个listview定义解决方案,以及我可以选择的最佳listview和列(当然,如果可能的话)

阿斯达斯达斯德

放置真/假值的特定部分(瓶子已填充):

<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                               </Grid.ColumnDefinitions>
                <Label
                    Grid.Column="0"
                              
                    HorizontalOptions="Fill"
                    HorizontalTextAlignment="Center"
                    Text="{Binding BottleTypeName}" />
                <Label
                    Grid.Column="1"
                              
                    HorizontalOptions="Fill"
                    HorizontalTextAlignment="Center"
                    Text="{Binding BottleIsFilled}" />
                <Label
                    Grid.Column="2"
                              
                    HorizontalOptions="Fill"
                    HorizontalTextAlignment="Center"
                    Text="{Binding Amount}" />
                           </Grid>
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate>

按照Jason的建议,使用

  • 在所有项目(共享和平台)上安装nuget软件包
  • 为此包添加xaml命名空间
    xmlns:xct=”http://xamarin.com/schemas/2020/toolkit“
  • 实例化并使用BooltObjectConverter
  • 似乎每个页面的一个常见实例都适合您的用例

    <ContentPage.Resources>
          <xct:BoolToObjectConverter x:Name="BoolToObjectConverter" TrueObject="yes" FalseObject="no"/>
    
    </ContentPage.Resources>
    ...
    <Label
                        Grid.Column="1"
                        HorizontalOptions="Fill"
                        HorizontalTextAlignment="Center"
                        Text="{Binding BottleIsFilled, Converter={StaticResource BoolToObjectConverter}}"/>
    
    
    ...
    
    文件


    如果名称空间出现错误,请尝试键入
    并将光标放在其上,在vs Intelissense上,当您单击“ctrl+”或ctrl+enter时,应突出显示该名称空间并为您建议并应用正确的名称空间。

    使用BooltObjectConverter-请花时间阅读文档-尝试使用
    xmlns:xct=“clr命名空间:Xamarin.CommunityToolkit.Converters;assembly=Xamarin.CommunityToolkit“
    我相信你可以使用带有字体图标的字形来实现这一点。多亏了这一点,还有一个问题是,我能不能用复选标记来代替文本?如果你想要一个复选标记,你可以使用一个图像并将其IsVisible属性直接绑定到bool,而不必与Jason一起使用converterAgree,除非你想在它为false时显示一个叉号,那又是另一个故事谢谢你们,我稍后再看!