このサイトで、回答者が同様の質問に回答しようとした投稿を見つけました。投稿へのリンクは次のとおりです。WPF ComboBox with IsEditable="True" - 一致が見つからなかったことをどのように示すことができますか?
だから、私は答えていないに従おうとしました。1 user1234567 によるトピック No.4。私はエラーで終わった。
1) リストに ElementAt の定義が含まれていません。以下の行で:
if(textBox.Text != "" && items.ElementAt(i).StartsWith(textBox.Text))
以下の行を使用してそのエラーを解決しようとしました:
if(textBox.Text != "" && items[i].StartsWith(textBox.Text))
したがって、コンパイル時のエラーはすべてなくなります。
2) 以下の行でランタイム エラーが発生します。
items.Add(((ComboBoxItem)cbEffectOn.Items.GetItemAt(i)).Content.ToString());
エラーは言う:Cannot convert string to ComboBoxItem.
誰かがより良い解決策を持っているか、上記のエラーを解決できる場合は、提案してください。
更新:
以下は、comboBox の XAML です。
<ComboBox x:Name="cbEffectOn" IsEditable="True"
ItemsSource="{Binding Path=EffectName,
Mode=TwoWay, UpdateSourceTrigger=Default}"
Grid.Column="4" Grid.Row="5" KeyUp="myComboBox_KeyUp"/>
更新 2 :
2番目の問題の解決策は次のとおりです。
string
最初に toをキャストしようとしComboBoxItem
ました。ComboBox
しかし、今ではすべてのアイテムがsであることを知っているstring
ので、以下のコードを試してみましたが、うまくいきました:
items.Add(cbEffectOn.Items.GetItemAt(i).ToString());