mvvmを使用してwpfでtreeviewを使用するアプリケーションがあります。treeitemテンプレートには、ユーザーがフィールドデータを入力または変更するためのテキストボックスが含まれています。ユーザーが編集中にタブを押して、次に表示されているツリーアイテムのテキストボックスに移動し、編集を開始できるようにしたいと思います。これは可能ですか?タブキーをキャッチできますが、次のアイテムに移動する方法がわかりません
1 に答える
0
わかりました、それが最もクリーンな方法かどうかはわかりませんが、それを行う方法を見つけました。速度の問題に悩まされていないようですので、今のところは機能します。誰かが持っている場合は、よりクリーンな答えに興味があります。これが私がしたことです:
ここで参照されているのと同様の方法を使用して、TreeView内のすべてのテキストボックスのコレクションを取得しました。次に、KeyDownイベントに「sender」を使用してテキストボックスにキャストし、そのノードのビューモデルであるdatacontextを取得しました。次に、全体的なビューモデルを使用して、次の表示ノードのビューモデルを見つけました(「IsExpanded」への双方向のバインドで非常に簡単です)。最後に、データコンテキストが次の表示可能なビューモデルであり、Keyboard.Focus(myTextBox)と呼ばれるものが見つかるまで、最初に見つかったすべてのテキストボックスを繰り返しました。
私が言ったように、よりクリーンな方法があるはずですが、今のところは機能します...
于 2012-10-18T03:51:38.080 に答える