1

したがって、C# メトロ アプリで動作する通常の AppBar を取得しましたが、問題は、アプリに html ページを表示する必要があることです。ページの幅と高さの 100% を占める WebView を作成すると、右クリックやエッジ スワイプで AppBar が表示されなくなります。AppBar がそのような WebView を適切に操作する方法はありますか?

--解決済み--

私がやったのは、スワイプを検出できるように、WebView の周りに 1px の境界線を追加することでした。WebView に含めたものは時間とともに動的に変化するため、WebViewBrush はうまくいきませんでした。代わりに、AppBar を開いたときに WebView のサイズを縮小し、閉じたときに拡大しました。

4

3 に答える 3

2

フィリップの答えを盗もうとしているわけではありませんが、質問に完全に答えるには、さらにいくつかの詳細が必要だと思います。

WebView がフルスクリーンで実行されている場合でも、右クリックまたはスワイプすると AppBar が表示されます。これは、 AppBar.Openedイベントをサブスクライブすることで証明できます。興味深いのは、AppBar が隠されていることを何らかの形で認識しているように見え、自動的に閉じてしまうことです。それ自体が閉じていなくても、WebView の下に隠されているため、それを見ることはできません。

Filip は、WebView を非表示にして、AppBar が開いているときに WebViewBrush を使用するという正しい考えを持っていました。ここでそれを行う良い例を見つけることができます:

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webviewbrush.aspx

WebView と WebViewBrush をいつ切り替えるかについては、単純に AppBar.Opened で切り替え、AppBar.Closed で切り替えます。AppBar は軽い非表示です。つまり、クライアント領域の外側をタップするとすぐに閉じます。

最後のアドバイス: 私のテストでは、スワイプ ジェスチャが時々飲み込まれてしまうように見えました。WebView の上下に 1 ピクセルのボーダーを配置すると、その問題は解消されたようです。あなたのマイレージは異なる場合があります。

于 2012-07-30T21:47:49.650 に答える
1

XAML UIを表示している間はWebViewを非表示にし、代わりにWebViewBrushを使用する必要があります。

于 2012-07-30T21:09:14.177 に答える