0

このサイトで、回答者が同様の質問に回答しようとした投稿を見つけました。投稿へのリンクは次のとおりです。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());
4

1 に答える 1