Win8 App 預設的範本沒有辦法用「觸控」選取?用「滑鼠」卻可以?IsSwipeEnabled 屬性

Win8 App 預設的範本沒有辦法用「觸控」選取?用「滑鼠」卻可以?IsSwipeEnabled 屬性

 

怎麼用觸控的選取?

平常我們都習慣用 mouse 對於選取 (select) 都會直接在 Item 上按「右鍵」就可以達成了

而在 Win 8 觸控的選取則是按住 Item 後再直接往下拖拉,來達成 Select 的效果

image

 

所有 GridView 的選取機制都一模一樣沒有例外

 

滑鼠可以選取 觸控卻無法選取的怪異現象

 

image

通常我們會很直覺地將 SelectionMode 的功能開啟 ( 如上 )

但這個時候卻會發現,滑鼠可以選取 觸控卻無法選取的怪異現象

 

觸控和滑鼠的觸發行為不同

這是因為 GridView 本身有提供 選取機制了,自然在 滑鼠按下右鍵時就立即觸發。

那為什麼 觸控不行?一開始也說明了 觸控選取的機制是往下拉選取的。觸發的行為不一樣

為了避免 GridView 明明不能提供選取的機制,但卻又讓使用者出現可以「往下拖拉」的效果而造成使用者的誤會

所以 GridView 本身又多提供了 IsSwipeEnabled 的屬性來做判斷。 (預設是開啟的)

image

所以只要 SelectionMode  =  None ,那麼 IsSwipeEnabled 也要跟著調整為 False 。

讓使用者無論用 滑鼠 和 觸控都無法選取

 

反之,要選取的話就兩者都要開啟才不會有問題!

 

另外,有看過某些的 app 為了解決這個問題硬是 override 掉觸發行為,這一點其實是不太建議的

因為某些頁面的操作行為就會不太一致