0

デスクトップ WPF アプリケーションを WinRT に移植していますが、小さな問題に直面しています。

私はItemsControlを持っていて、アイテムを削除/編集するためのコンテキストメニューをすべてのアイテムに持っていました。

WinRT では PopupMenu は適切ではないので、AppBar を使用する必要があると言われました。

何か間違ったことをしている、または誤解していると思います。

そのオプションをAppBarに配置し、要素を選択すると、バーがポップアップして必要な場所をクリックできると思いました。

問題は、アプリの任意の部分を右クリックすると AppBar が表示されるため、アイテムが選択された状態でボタンが表示されることです。

したがって、さまざまなコンテキストで AppBar のレイアウトを変更することはできますか (Microsoft は AppBar をコンテキスト機能のないコンテキスト メニューとして使用することを望んでいるようです)、またはコードを介して必要なときにのみ表示することはできますか?

いくつかのアプリ全体のオプションを備えた TopAppBar と、ListView のアイテム コンテキスト メニュー専用の BottomAppBar があるとよいでしょう。

あるいは、私はこのすべてを間違ってやっているのかもしれません.Listviewのアイテムに追加のオプションを追加するには、別のアプローチを使用する必要があります.

4

1 に答える 1

3

あなたはこれについて正しく考えています。AppBar必須ではない選択ベースのコマンドをすべて配置する場所です。

ここここのガイドラインは、次のように配置する必要があることを示唆しています。

  • ナビゲーションコマンドはTopAppBar
  • 選択に関連するコマンドは、BottomAppBar
  • ページ固有のコマンドの残りの部分は、BottomAppBar

コンテキスト コマンドは、そのコマンドに関連する項目が選択されている場合にのみ表示されます。そのためにはVisibility、これらのコマンドを適切に設定する必要があります。またAppBar、コンテキスト コマンドを含む項目が選択されたときにも自動的に開く必要があります。プロパティを設定することにより、プログラムでそれを行うことができIsOpenます。また、プロパティ経由でスティッキー モードに設定する必要がありIsStickyます。

MVVM を使用している場合は、ビューモデルのプロパティを上記のすべてButtonのプロパティにバインドできます。AppBar

WinRT XAML ToolkitCustomAppBarで使用できるコントロールがあります。私はまだそれを自分で使用していませんが、あなたの場合に役立つかもしれないいくつかの追加機能があります.

于 2012-11-25T07:48:01.503 に答える