我正在使用Xamarin和MVVM创建一个项目,我想知道如何创建一个按钮,我将有一个灰色的收藏夹图像,当我单击时,我想将其更改为红色的收藏夹图像,有2个不同的图像。
I wanted something like this:
我尝试使用ImageButton,但在Viewmodel中创建Command函数时遇到了困难:
<ImageButton
Margin="0,0,0.5"
BackgroundColor="Transparent"
Command="{Binding AddFavouriteCommand}"
CommandParameter="{Binding .}"
HorizontalOptions="End">
<ImageButton.Triggers>
<DataTrigger
Binding="{Binding ProductFavItem}"
TargetType="ImageButton"
Value="True">
<Setter Property="Source" Value="love_filled.png" />
</DataTrigger>
<DataTrigger
Binding="{Binding ProductFavItem}"
TargetType="ImageButton"
Value="False">
<Setter Property="Source" Value="love_default.png" />
</DataTrigger>
</ImageButton.Triggers>
</ImageButton>
字符串
1条答案
按热度按时间kmb7vmvb1#
您可以为数据列表的Item模型创建一个bool变量(例如
public bool IsFavourited
),并根据bool变量的值更新ImageView
的图标。这是我在自己这边实现的,可以参考下面的代码:
Item.cs
字符串
MyViewModel.cs
型
用法示例:
型
注:
在这里,我们可以使用以下代码在视图模型上绑定命令
AddFavouriteCommand
。而mCollectionView
是当前CollectionView的x:Name
。型