ユーザーが入力したときにWPFコンボボックスに自動完了/自動フィルターを実行させるための堅実な(無料のオープンソース、またはチュートリアル/例)コードを見つけたいと思っています。しかし、私がこれまで試したすべてのものには、ある種の問題がありました...
再利用可能なWPFオートコンプリートテキストボックス が近づきましたが、到達できません 複数のフィルターを使用 (詳細 ここ )。
WPFオートコンプリートテキストボックス/コンボボックス UserControlから継承しているため、機能しません。したがって、必要なDataTemplatesをサポートしていません(複数のプロパティを持つオブジェクトの1つのプロパティの値を表示/選択するため) )。
WPFでComboBoxを自動的にフィルタリングする 継承されたComboBoxコードのEditableTextBox部分が見つからないため(常にnullを返すように見える(TextBox)base.GetTemplateChild("PART_EditableTextBox")
を介して)機能しませんでした。
WPF用のフィルターされたコンボボックスの構築 数文字を入力した後、更新ループでスタックし、スタックをオーバーフローします。
私が考慮した他のこと:
WindowsフォームのコンボボックスコントロールにAutoCompleteMode があり、 WPFに埋め込む ことができることは知っていますが、WPFデータバインディングでうまく機能するとは思えません。
おそらくそれは複雑すぎて、おそらくComboBoxenの1次元(単一プロパティ)ObservableCollectionsを構築することによって単純化する必要があります...しかし、複数のフィルターを適用するという課題(1つは別のコントロールの値によって設定され、もう1つはユーザーが入力している)同じDataSetの異なるビューを使用して複数のコントロールに入力すると、ユーザーが文字を入力するたびにリストを破棄して再構築するために、とんでもない量の処理能力が必要になります。
だから...私は終わりです。助言がありますか?
コンボボックスにデータソースが添付されている場合は、
1-IsTextSearchEnabled = true.
2-IsEditable = true.
準備できた