У меня возникают некоторые проблемы при попытке динамически генерировать контент в WPF и после того, как он связывает данные.
У меня есть следующий сценарий: TabControl - Динамически генерируемые TabItems через DataTemplate - внутри TabItems, у меня генерируется динамический контентDataTemplate, которое я хочу связать (ListBox).
Код выглядит следующим образом:
:: TabControl
<TabControl Height="252" HorizontalAlignment="Left" Name="tabControl1" VerticalAlignment="Top" Width="458" Margin="12,12,12,12" ContentTemplate="{StaticResource tabItemContent}"></TabControl>
:: Шаблон для TabControl для генерации TabItems
<DataTemplate x:Key="tabItemContent">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ListBox ItemTemplate="{StaticResource listBoxContent}" ItemsSource="{Binding}">
</ListBox>
</Grid>
</DataTemplate>
:: Шаблон для ListBox Внутри каждого TabItem
<DataTemplate x:Key="listBoxContent">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="22"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding Path=PluginIcon}" />
<TextBlock Grid.Column="1" Text="{Binding Path=Text}" />
</Grid>
</DataTemplate>
Итак, когда я пытаюсь сделать это для кода внутри цикла, чтобы создать табитемы:
TabItem tabitem = tabControl1.Items[catIndex] as TabItem;
tabitem.DataContext = plugins.ToList();
где 'plugins' - Enumerable
ListBox не ограничен.Я также попытался найти ListBox внутри TabItem, чтобы установить свойство ItemSource, но безуспешно.
Как мне это сделать?