Я хочу создать TabItem с одним содержимым ListBox и одним содержимым типа WebBrowser, которое я хочу создать динамически. Я могу правильно добавить заголовок, но я не знаю, как добавить несколько данных в DataTemplate.Как связать несколько содержимого с DataTemplate динамически в WPF?
private TabItem AddTabItem()
{
int count = _tabItems.Count;
TabItem tab = new TabItem();
tab.Header = string.Format("Tab {0}", count);
tab.Name = string.Format("tab{0}", count);
WebBrowser wbr = new WebBrowser();
wbr.MaxHeight = 1550;
wbr.MaxWidth = 1550;
wbr.Navigate("https://google.com");
tab.Content = wbr;
//Header Part is working Fine
tab.HeaderTemplate = tabDynamic.FindResource("TabHeader") as DataTemplate;
//I Want to add below commented line in my code for Content
// tab.ContentTemplate = tabDynamic.FindResource("TabCont") as DataTemplate;
return tab;
}
<TabControl x:Name="tabDynamic" ItemsSource="{Binding}" >
<!--SelectionChanged="tabDynamic_SelectionChanged"-->
<TabControl.Resources>
<DataTemplate x:Key="TabHeader" DataType="TabItem">
<DockPanel>
<Button x:Name="btnDelete" DockPanel.Dock="Right" Margin="5,0,0,0" Padding="0" Click="btnDelete_Click" CommandParameter="{Binding Name, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Image Source="/delete.gif" Height="11" Width="11"/>
</Button>
<TextBlock Text="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}" />
</DockPanel>
</DataTemplate>
<DataTemplate x:Key="TabCont" DataType="TabItem">
<!-- ========================== -->
<!-- Bind Dynamically -->
<!-- one list box-->
<!-- Webbrowser-->
<!-- ========================== -->
</DataTemplate>
</TabControl.Resources>
</TabControl>
вы не можете добавить несколько элементов в шаблон данных, вместо этого установите контент в элемент, который его поддерживает, например StacKPanel, Grid, DockPanel и т. Д., Которые вы, кажется, делаете в шаблоне, поэтому ваш вопрос не " смысл – MikeT