El problema:
- La versión china informa un error: Información adicional: La operación no es válida cuando se está utilizando ItemsSource. Utilice ItemsControl.ItemsSource para acceder y modificar elementos en su lugar.
- 英文版 报错 : La operación no es válida mientras se utiliza ItemsSource. Acceda y modifique elementos con ItemsControl.ItemsSource en su lugar.
Motivo: Un control con múltiples entradas como ListBox en el primer plano XAML, cuyo ItemsSource está vinculado a una colección ObservableCollection <T> en ViewModel, pero cuando se lo llama en el Modelo, intente acceder a este control y modificar su ItemsSource. Tal como la siguiente escritura informará un error:
<ListBox x:Name="designViewLB" ItemsSource="{Binding DesignViewList}">
shellWindow.designViewLB.Items.Add(new DesignViewItem() {
// ... 设置属性
});
Solución: Debido a que ItemsSource del control en primer plano se ha vinculado a una colección, ya no es posible manipular directamente ItemsSource de este control, sino operar en la colección vinculada a ItemsSource de este control. Se puede escribir de la siguiente manera:
shellViewModel.DesignViewList.Add(new DesignViewItem()
{
// ... 设置属性
});