私はWindows8の開発にまったく慣れていませんが、MVVMLightを使用したタッチナビゲーションとキーボードナビゲーションの混合の問題に直面しています。
グリッドビューにビューモデルのリストがあり、そのうちの1つを選択すると、選択したビューモデルへのナビゲーションがアクティブになります。これは、タッチまたはマウスではまったく問題なく機能しますが、キーボードでは非常に混乱する可能性があります。確かに、自然な動作は、アイテムを表示したいときに矢印でリストをナビゲートし、Enterキーを押すことですが、代わりに、ここでは、ユーザーを本当に混乱させる矢印キーでアイテムを変更するだけでナビゲーションがアクティブになります。
では、タッチとマウスを使用した選択、および選択とキーボードによるEnterキーの組み合わせを使用して、ナビゲーションをアクティブにするにはどうすればよいでしょうか。
これが私が使用するコードです。
ViewModel:
public ReleaseViewModel SelectedRelease
{
get
{
return selectedRelease;
}
set
{
if(selectRelease != value)
{
selectedRelease = value;
}
// Navigation code here
}
}
意見:
<GridView
ItemsSource="{Binding Releases}"
ItemTemplate="{StaticResource ReleaseTemplate}"
ItemContainerStyle="{StaticResource GridViewItemStyle}"
Grid.ColumnSpan="2"
Grid.Row="2"
Padding="116,0,40,46"
SelectedItem="{Binding SelectedRelease, Mode=TwoWay}"/>