为了账号安全,请及时绑定邮箱和手机立即绑定

在 Xamarin Forms 中的按钮上有条件地设置图像

在 Xamarin Forms 中的按钮上有条件地设置图像

C#
撒科打诨 2021-12-25 18:35:07
在动态填充的 ListView 中,是否可以有条件地在 Xamarin Forms 的按钮上显示图像?例如,总而言之,我有一个心形按钮,如果后面的代码中的条件为真,则需要将其填充为红色,否则为非红色。<ListView x:Name="FullNamesList"                      VerticalOptions="FillAndExpand"                      ItemSelected="FullNamesList_OnItemSelected">                <ListView.ItemTemplate>                    <DataTemplate>                        <ViewCell>                            <Grid>                                <Grid.ColumnDefinitions>                                    <ColumnDefinition Width="*" />                                    <ColumnDefinition Width="1.1*" />                                    <ColumnDefinition Width=".3*" />                                </Grid.ColumnDefinitions>                                <Label FontSize="Medium"                                       FontAttributes="Bold"                                       HorizontalTextAlignment="Start"                                       Margin="20,0,0,0"                                       VerticalTextAlignment="Center"                                       Grid.Row="0"                                       Grid.Column="0">                                    <Label.Triggers>                                </Button>                            </Grid>                        </ViewCell>                    </DataTemplate>                </ListView.ItemTemplate>            </ListView>最初构建页面时,我将遍历一个列表。如果列表中存在名称,我需要将图像更改为Button Image="favoritered.png"
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您需要更换您Button Image="Favorite.png"的绑定。


<Button Image="{Binding FavoriteImage}"

           Grid.Row="0"

           Grid.Column="2"

           Scale=".9" 

           Opacity=".3"

           ClassId="{Binding Name}"

           Clicked="FavoriteHeart_OnClicked"

           x:Name="favoriteHeart">

然后在您的 ViewModel 中的某个地方:


声明一个FavoriteImage绑定,然后为这个变量设置一个值


foreach(element in list){

    if(!string.isEmpty(element.NameVariable)){

        FavoriteImage = "favoriteded.png";

    }else{

        FavoriteImage = "favorite.png";

    }

}


查看完整回答
反对 回复 2021-12-25
  • 1 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信