What you might want to do is:
<DataTemplate>
<StackPanel>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="add to favourites" Visibility="{Binding isFavorite, Converter={StaticResource BoolToVisibility}}" Tap="HandleFavouriteTap"/>
<toolkit:MenuItem Header="remove from favourites" Visibility="{Binding isFavorite, Converter={StaticResource BoolToCollapsed}}" Tap="HandleFavouriteTap"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<Grid Width="420">
...
</Grid>
</StackPanel>
</DataTemplate>
You should not use the ItemsSource property, because you don't have a IEnumerable property on your View Model (resources class) that could be used as a list of available commands. You just want one command, but different depending on a value of isFavorite property - so add two MenuItems and bind their Visibility. In the above solution you will need two bool-to-visilibity converters defined as recourcesn.
Note, that in my experience it is best to avoid ItemsSource of the ContextMenu altogether. Because then you have to define DataTemplate and you place MenuItem inside the template. As a result MenuItem of the DataTemplate is wrapped with another MenuItem. You may not notice anything strange when using only Tap event, but when binding to Command the MenuItems will not behave as expected.