問題
很多App都可以在 ListView 上製作出類似 Windows 右鍵彈出功能表的效果,那麼,若想要使用 Xamarin.Forms 來開發,是否可以做到這樣的功能呢?
解答
其實,在 Xamarin.Forms 中,已經具備了這樣功能,您可以在 ViewCell 內,只用這個
ViewCell.ContextActions
Property Element 表示方式,使用 MenuItem
標記來宣告,當使用者要使用彈出功能錶的時候,要出現甚麼樣的選項內容。
在底下的範例中,會出現兩個選項,若使用者選擇了某個選項,則會執行相對應 ViewModel 內的 ICommand 命令。
<ViewCell>
<ViewCell.ContextActions>
<MenuItem Text="立即產生"
Command="{Binding 立即產生Command}" CommandParameter="{Binding .}" />
<MenuItem Text="刪除"
Command="{Binding 刪除Command}" CommandParameter="{Binding .}"
IsDestructive="True" />
</ViewCell.ContextActions>