0

標準の WPF コンボ ボックスには、タイプイン機能があります。つまり、コンボ ボックスにフォーカスがあり、ユーザーが文字を入力すると、コンボ ボックスで選択された項目が (入力された文字に関連して) 変化します。

重要

IsEditable が True に設定されたコンボ ボックスのことでも、コンボ ボックスの開いたリストのことでもありません。私はいくつかのテキスト項目を持つ純粋で単純なコンボボックスを意味します:

ここに画像の説明を入力

質問

カスタム ビルド コンボ ボックスでこの動作を模倣するにはどうすればよいですか? (ゼロから構築され、言及された機能を除いてすべてを模倣します)。

私のコンボ ボックスは、クラシック スキーマを使用して作成されました。つまり、toogle ボタン、ポップアップ、およびポップアップ内のリスト ボックスです (記述されたスキーマにすべての追加機能が含まれていないと仮定します)。リスト ボックスは「入力」機能を完全にサポートします。したがって、私の考えは、すべてのキーストロークをトグル ボタンからリスト ボックスに移動することでした。

Private Sub MyToggleButton_PreviewKeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles MyToggleButton.PreviewKeyDown
    MyListBox_PreviewKeyDown(Me, e)
End Sub

Private Sub MyListBox_PreviewKeyDown(sender As Object, e As System.Windows.Input.KeyEventArgs) Handles MyListBox.PreviewKeyDown
    MyBase.OnPreviewKeyDown(e)
End Sub

しかし、何らかの理由で機能しません。

4

1 に答える 1

0

この記事をチェックしてください。

http://www.codeproject.com/Articles/66890/A-Keyboard-Selection-Enabled-ComboBox-in-Silverlig

この記事は Silvelight を対象としていますが、必要な手順を示しているはずです。

コンボボックスの実装方法に関するコードを投稿しない限り、誰も完全な解決策を提供できません

于 2012-05-13T03:54:27.417 に答える