The almost identical setup but without the SwipeView context is working fine.
The trigger gets fired and I do "my thing".
See the following xaml code + PageModel.cs code :
<CollectionView.ItemTemplate>
<DataTemplate>
<SwipeView BackgroundColor="LightYellow">
<SwipeView.RightItems>
<SwipeItems Mode="Execute" SwipeBehaviorOnInvoked="RemainOpen">
<SwipeItemView>
<StackLayout Orientation="Vertical" WidthRequest="60" BackgroundColor="LightGray" Padding="2,5,0,5" >
<Button x:Name="Btn_Assign"
Text="{x:Static fa:FontAwesomeIcons.UserPlus}" FontSize="20" FontFamily="FAS"
HorizontalOptions="Center"
Command="{Binding AssignCommand}"/>
<Label Text="Assign" FontSize="Subtitle" HorizontalOptions="Center"/>
</StackLayout>
</SwipeItemView>
</SwipeItems>
</SwipeView.RightItems>
</SwipeView>
</DataTemplate>
</CollectionView.ItemTemplate>
PageModel.cs
public Command AssignCommand
{
get
{
return new Command(ExecuteUpdateCommand);
}
}
The ExecuteUpdateCommand function contains the actual code to be executed.
The AssignCommand function is never accessed.
From your description, you need to use Xamarin.Forms Relative Bindings to bind command for Button's Command, I do one sample that using SwipView in Collectionview, then delete current item.
You need to name ContentPage's Name
The screenshot: