Я хотел бы сделать очень простую вещь (я думаю) с помощью XAML.ItemsControl UserControls with ViewModels
Я хочу показать список UserControl A usercontrols '(с ViewModel A' viewModels ') в ItemControl, размещенном в' UserControl B '.
«ViewModel B» содержит свойство, которое является наблюдаемым символом «UserControls A».
В CTOR от 'UserControls А', я установил:
Me.DataContext = New ViewModelA()
в CTOR от 'userControlB', я установил то же самое, но с 'ViewModel B'.
«ViewModel A» содержит два свойства (Integer) «Row» и «Col».
Я хочу привязать каждый «userControl A» и значения «Col» и «Row» в сетке, размещенной в «UserControl B».
Вот что я сделал: UserControl B:
<ItemsControl ItemsSource="{Binding ListOfUserControl_A}" Margin="1.5">
<ItemsPanelTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
</Grid>
</ItemsPanelTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Grid.Column" Value="{Binding Col}" />
<Setter Property="Grid.Row" Value="{Binding Row}" />
</Style>
</ItemsControl.ItemContainerStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:UserControl_A/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Коллекция правильно заполнена до этого процесса.
Но во время выполнения у меня есть эта ошибка (перевод с французского): «Коллекция должна быть пуста для использования« ItemsSource ».
Другая ошибка, которую я до того, что «The ItemTemplate и ItemTemplateSelector не действительны для UserControl_B» ...
Что я делаю неправильно?
OMG, такой идиот. Thx человек. – Thib