セパレータコントロールを含むWPF編集可能なComboBoxのオートコンプリートは、System.Windows.Controls.Separatorを表示します。
このxamlで:
<ComboBox IsEditable="true">
<ComboBoxItem Content="aaaaa"/>
<ComboBoxItem Content="bbbbb"/>
<ComboBoxItem Content="ccccc"/>
</ComboBox>
ユーザーはaからcで入力を開始して、残りの文字をオートコンプリートできます。aはaaaaになり、bはbbbbbになります。
ただし、問題は、セパレータを追加して、それらの一部をオートコンプリートから除外する場合です。私はこれを試しました:
<ComboBox IsEditable="true">
<ComboBoxItem Content="aaaaa"/>
<ComboBoxItem Content="bbbbb"/>
<Separator IsEnabled="false"/>
<ComboBoxItem Content="ccccc" IsEnabled="false"/>
</ComboBox>
cを押すと、コンボボックスにはまだcccccが選択肢として表示されます。また、Sを押すと、奇妙なことに、コンボボックスにSystem.Windows.Controls.Separatorが選択肢として表示されます(!)
オートコンプリートは、他の2つ(Separatorとccccc)がIsEnabled = "false"に設定されているため、aとbの入力のみをサポートすることを期待していました。
これに対する解決策はありますか?私にお知らせください。