У меня есть RadAutoCompleteBox с динамическим ItemSource, который работает в некоторых местах, а не в других.В установщике для SearchText я запускаю поиск и заполняю ItemSource.В поле, над которым я сейчас работаю, ObservableCollection ItemSource дает мне «Исключение: System.ArgumentException» в System.Core.dll », когда я пытаюсь добавить элемент в него.Этот метод работает во многих местах в другом месте, и если я вручную установил SearchText в другом месте, код ошибки работает без ошибок.Любая помощь будет принята с благодарностью.
Вот код XAML:
<telerik:RadAutoCompleteBox
Grid.Column="2" Grid.Row="3"
x:Name="AutoCompleteBoxMakeModel"
ItemsSource="{Binding MakeModelCollection}"
SearchText="{Binding MakeModelTerm, Mode=TwoWay}"
SelectedItem="{Binding SelectedMakeModel, Mode=TwoWay}"
SelectionMode="Single"
HorizontalAlignment="Left"
TextSearchPath="Display"
TextSearchMode="Contains"
AutoCompleteMode="Suggest"
IsDropDownOpen="{Binding IsMakeModelDropDownOpen, Mode=TwoWay}"
DropDownItemTemplate="{StaticResource MakeModelSearchTemplate}"
DropDownWidth="300"
VerticalAlignment="Top" Width="275" Height="25" Margin="0,3,0,0" >
<telerik:StyleManager.Theme>
<telerik:VisualStudio2013Theme/>
</telerik:StyleManager.Theme>
</telerik:RadAutoCompleteBox>
А вот код ошибки:
private string makeModelTerm;
public string MakeModelTerm
{
get { return makeModelTerm; }
set
{
if (makeModelTerm == value)
{
return;
}
makeModelTerm = value;
RaisePropertyChanged("MakeModelTerm");
if (value.Length > 2)
{
SearchMakeModel(value);
}
}
}
private void SearchMakeModel(string value)
{
LookUpRepository er = new LookUpRepository();
var list = er.SearchMakeModel(value);
MakeModelCollection.Clear();
list.ForEach(MakeModelCollection.Add); // This triggers the System.ArgumentException on each value in list
this.IsMakeModelDropDownOpen = true;
}