私は WPF に UserControl を持っており、そこにはさまざまなコントロールが含まれています...最も重要なのは DataGrid コントロールです。DataGrid コントロールは、Observable Collection リストにバインドされています。このリストには、ユーザーが選択したいくつかのフィルターに基づいたさまざまなアイテムが含まれています。ここで、DataGrid にすべてのデータが表示されます。ユーザーコントロールの最初の (フィルター) コンボボックスにフォーカスを設定したいと思います。DataGrid が完全にロードされたことを知る方法はありますか? Grid が新しいリストで更新され、ComboBox をフォーカスに設定できることを通知するためにトリガーできる設定可能な DataTrigger はありますか。基本的に、DataGrid のデータが再作成されたときに、UserControl の最初のコントロールにフォーカスを設定することができません...この問題を解決する方法を知っている人がいたら教えてください!! 前もって感謝します。
質問する
173 次
1 に答える
0
コード ビハインドで作業するのは嫌いですが、それが唯一の方法である場合もあります。私によれば、これは2つの方法で行うことができます:
フィルタリング ロジックが完了したら、EventAggregator を使用して ViewModel からイベントを発生させます。ビュー コード ビハインドおよびハンドラー do でこのイベントをリッスンします。
firstCombo.Focus()
2番目は少し汚いので、リストビューにフィルターを適用した後にボタンまたは最後のコントロールが必要です。buttonClickHandler/または最後のコントロールの任意のイベント (selectionchange など) で直接実行します
firstCombo.Focus()
。この場合、ボタンを押した瞬間にフォーカスがコンボに移動します。
ありがとう
于 2013-08-29T09:52:42.060 に答える