답변자가 비슷한 질문에 답변하려고했던이 사이트의 게시물을 발견했습니다. 게시물에 대한 링크는 다음과 같습니다. WPF ComboBox with IsEditable=“True” - How can I indicate that no match was found?사용자가 comboBoxItems 컬렉션에 포함 된 값만 입력하도록하십시오.
그래서 답변 번호를 따르려고했습니다. 1 주제 4 (user1234567). 나는 실수로 끝났다.
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 x:Name="cbEffectOn" IsEditable="True"
ItemsSource="{Binding Path=EffectName,
Mode=TwoWay, UpdateSourceTrigger=Default}"
Grid.Column="4" Grid.Row="5" KeyUp="myComboBox_KeyUp"/>
업데이트 2 :
I : 여기
는 두 번째 문제의 해결책이 여기에은 콤보 상자에 대한 XAML입니다 string
을에 전송하려고했습니다. 첫 번째 시도에서3210. 하지만 지금은 ComboBox
의 모든 항목이 string
의 그래서 난 아래의 코드를 시도하고이 일 것을 알고 : 당신이 좋아 당신이 오류를 얻을 때, 당신이 그들을 해결하기 위해이 간단한 조언을 따를 수
items.Add(cbEffectOn.Items.GetItemAt(i).ToString());
XAML 코드를 표시하십시오. –
내 질문을 업데이트했습니다. 모든 XAML 코드가 필요하면 의견을 말하십시오. – Khushi
당신이 사용하려고했던 답변에 어떤 문제가 있는지 모르겠다. 그냥 빈 WPF 프로젝트에 복사하여 붙여 넣기 만하면된다. ** no ** 오류로 잘 작동한다. –