0

画面全体をTagVisualizerカバーしています。内部にネストされているのは fullscreenScatterViewです。my の 1 つの中には、ScatterViewItemsnUserControl個の の量がリストされていますSurfaceTextBoxsUserControlScatterViewItemsは常に表示されます。

例えば

<TagVisualizer Panel.ZIndex="1">
<TagVisualizer.Definitions>
...
<TagVisualizer.Definitions>

<ScatterView Panel.ZIndex="2">
<ScatterViewItem />
<ScatterViewItem />
<ScatterViewItem >
<UserControl />
</ScatterViewItem>
...
</ScatterView>
</TagVisualizer>

私が抱えている問題は、テーブル上でタグが認識されていない場合、タッチ入力が機能し、キーボードがポップアップして正しく機能することです。ただし、認識されているテーブルにタグがある場合、キーボードはテキストブロックにフォーカスしなくなり、ユーザーのタッチ入力に反応しなくなります。コンテンツの zindex を階層化するとこれが解決すると思っていましたが、間違っていました...

イライラするのは、私のコードが Surface Input Simulator ツールでは機能するが、デバイス自体では機能しないことです。(マウスではなく、タグとタッチツールのオプション)。

  • タグは正確にカットアウトされており、テーブルにブロブ/指が触れないように見えません.
  • scatterview からライブラリバーなどへのコンテンツのドラッグ アンド ドロップはすべて意図したとおりに機能します。
  • 他のボタンとタッチ要素はすべて意図したとおりに機能しています
  • 各タグのソースは IsHitTestVisible=false で、ボタンなどはありません (認識されている場合にタグがどこにあるかを示す楕円のみ)
  • 意図したとおりにキーボード機能のみが機能していません。

この背後にある理由は、タグがマウス コンテキストをキャプチャして手放せず、デフォルトのキーボード機能がタッチ入力ではなく単一のマウス イベントを必要とするためだと思います。タグが認識されているときに、SurfaceTextBox内部でキーボードを機能させるにはどうすればよいですか?UserControl

私は初めてでWPF、この問題は私に小さな頭痛の種を引き起こしています...私はSDKの例を見てきましたが、これに対する解決策が見つかりません.

どんな助けでも感謝します:)

4

1 に答える 1

1

Surface 2.0 プログラムのキーボード構造についてさらに調査した後、ショッピング カートの例に再び従うと、タブレットではなく Surface 2.0 キーボードを使用する必要があります (コントロール パネルでオン/オフを切り替えることができます)。両方のキーボードが同じように操作できると思ったのはばかげた間違いでした...いいえ。

Surface 2.0 キーボードはタッチ入力を受け入れ、TagVisualizers. これは、キーボードを特定のものにバインドしSurfaceTextBoxes、マウスをクリックしていなくてもタッチ入力を受け入れるためです。

タブレット ウィンドウの既定のキーボードは、マウス入力がタッチされていない限り、タッチ入力では機能しません (他に入力がない場合、最後に現在アクティブなタッチ入力がマウスに昇格されます)。このキーボードは、オーバー キーボードが指定されておらず、コントロール パネルで有効になっている場合に常に表示されます。マウス/タッチ入力がなく、認識されたタグがある場合のように、これを操作するのは面倒TagVisualizersです..このタグは、連絡先を盗み、離すまで.

この問題は、Surface 2.0 キーボードでは発生しません。Surface 2.0 キーボードを使用して開発する場合、Surface Shell 経由でソフトウェアを実行するまで、タブレット キーボードが代わりになります (厄介なことに)。

プログラムを開発して Surface 2.0 キーボードを確認するには、Surface 用の開発環境とセットアップが必要です。たとえば、Samsung SUR40 などで開発する

  1. http://msdn.microsoft.com/en-us/library/ff727875.aspx Windows モードでのテスト
  2. http://msdn.microsoft.com/en-us/library/ff727840.aspx表面のテスト/デバッグ
  3. http://msdn.microsoft.com/en-us/library/ff727766.aspx Surface キーボード

Psこれは正しいと思います...私はまだこの問題について調査中であり、これを回避する方法を見つけたら、私の答えを更新します...

編集:

この回答を拡張するには..Surface Shellを使用するようにアプリケーションをコーディングする必要があります。ランチャーを介して、使用可能なアプリケーションの選択からアプリケーションを起動するか、ストア用にプログラミングしている場合はシェルを1つのアプリケーションモードに設定する必要があります環境。

于 2013-02-20T20:00:24.553 に答える