У меня есть Usercontrol (TabUserControl), который содержит TabControl. Viewmodel этого UserControl загружает ab Наблюдаемый набор TabItems. Один из этих элементов - это другой пользовательский элемент управления. Когда я просто загружаю текст в tabcontrol, нет никаких проблем, но как я могу загрузить другой пользовательский элемент управления в tabitem TabUserControl. Я использую MVVM.
Здесь мой код:
public class TabItem
{
public string Header { get; set; }
public object Content { get; set; } // object to allow all sort of items??
}
Модель ViewModel TabUserControl
public class TabViewModel
{
public ObservableCollection<TabItem> Tabs {get;set;}
public TabViewModel()
{
Tabs = new ObservableCollection<TabItem>();
//Tabs.Add(new TabItem { Header = "Overview", Content = new OverviewViewModel() }); How to load a usercontrol here if it in the ItemCollection?
Tabs.Add(new TabItem { Header = "Overview", Content = "Bla bla bla" });
Tabs.Add(new TabItem { Header = "Two", Content = "Two content" });
}
}
И затем TabControl XAML:
<TabControl x:Name="_tabControl"
ItemsSource="{Binding Tabs}">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header"
Value="{Binding Header}" />
<Setter Property="Content"
Value="{Binding Content}" />
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
Он работает до тех пор, пока я не загружаю viewmodel usercontrol в коллекции tabItems. как я могу настроить загрузку UserTabControl на TabItem? Цель состоит в том, что каждый tabitem будет содержать usercontrol. Каждый пользовательский контроль делает свою собственную вещь.
Надеюсь, кто-то может мне помочь, поскольку я начинаю WPF. спасибо!