1

アプリにモーダル ダイアログが必要でしたが、XAML Metro アプリにはそのようなものはないようです。誰かがポップアップを提案しました。

私が試してみたところ、基になるUIがまだ応答しているように見えました..そのため、ポップアップはモーダルではありません。

他のレイアウトに関係なく、画面の中央にポップアップを表示することが目的である可能性があると思いましたが、表示されませんでした。ポップアップは、他のすべてのものと同様にレイアウトにバインドされています。グリッド内にある場合は、中央ではなく行 0 と列 0 に配置されます。

だから私は何かを逃しているかもしれません。理解するのを手伝ってください。グリッドを使用して達成できるものとは異なる用途が見つかりません。

ポップアップの目的は何ですか? 他のコンテンツ コントロールとの違いは?

4

3 に答える 3

2

違い:

  1. 別のコントロールの子として配置する必要はありません。ただし、このようなシナリオでは、ビジュアル ツリーをトラバースし、TextBox に焦点を合わせてもコンテンツがシフトされないため、仮想キーボードがそのコンテンツをカバーしたり、その装飾コンテンツがポップアップにない装飾されたコントロールとの位置合わせを失ったりする可能性があります。

  2. そのコンテンツ ツリーは他のコンテンツの上にレンダリングされ、(私は信じています) 親コントロールのクリップ領域によってクリップされません。

  3. 通常、最初に表示するとき、または親レイアウト (またはサイズ) が変更されたときに、幅と高さを手動で設定する必要があります。特に、幅と高さを親 (またはウィンドウ)。

とはいえ、モーダル ダイアログは UI が悪いため、避ける必要があります。別の方法でダイアログを表示したり、他の方法を使用したりする場合は、単に別のページに移動できます。有効に見えても入力に応答しない UI にモーダル ダイアログを表示することほど (ほとんど) 面倒なことはありません。

于 2013-01-18T23:28:24.113 に答える
1

アプリにモーダル ダイアログが必要でしたが、XAML Metro アプリにはそのようなものはないようです。誰かがポップアップを提案しました。

Windows 8.1 以降、実際にはモーダル ダイアログに似たものがあります。それはFlyoutsと呼ばれるものです。

于 2014-03-21T21:27:37.970 に答える
1

カスタム コンテンツを含むモーダル ポップアップが Windows 8.1 にないようです。考えられる回避策の 1 つ:

  1. コントロールを使用するPopup(それ自体はモーダルではありません)
  2. 背景を半透明にする
  3. 画面全体に伸ばす
  4. そのコンテナ内に実際のポップアップコンテンツを配置し、その周りにスペースを残します

Popup現在、親ページは表示されていますが淡色表示されており、で覆われているためアクセスできません。

于 2015-09-14T21:47:20.763 に答える