WPF - 添加动态控件以动态添加Tabitem?

Pau*_*oss 8 wpf-controls

我在运行时(在C#中)动态地将Tabitems添加到Tab控件中,并且工作正常,但我怎样才能动态地将控件添加到新的Tabitems?Tabitems需要是动态的,因为它们取决于从数据库中读取多少行数据.每个Tabitem的布局都是相同的.谢谢

Aar*_*ver 12

如果每个TabItem都具有相同的布局,我只需创建一个UserControl包含布局和控制姿势所需的内容,然后将其放置在TabItem.Content属性中.

然后,您可以通过对象表示将数据传递给TabItem.DataContext属性以启动和使用绑定.

TabItem item = new TabItem();
item.Content = new CustomUserControl();
item.DataContext = data; //where data is the data that 
                         //comes from the database 
                         //being represented in object form
Run Code Online (Sandbox Code Playgroud)


小智 5

使用新 TabItem的Content属性,您可以在那里设置任何内容,例如字符串或其他 WPF 控件:

private void AddChildControl(TabItem tabItem)
{
    StackPanel newChild = new StackPanel();
    tabItem.Content = newChild;
}
Run Code Online (Sandbox Code Playgroud)


dev*_*tal 2

TabItem 是一个内容控件,因此只需将其 Content 属性设置为您希望显示的任何类型的元素(例如包含其他元素的网格等)