TabItem中动态添加多个控件

本文介绍两种在WPF应用程序中动态添加TabItem及其内容的方法:一是通过代码直接操作UI元素;二是采用MVVM模式,实现视图与数据绑定的分离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.通过代码形式, 先加入Panel, 然后依次加入你要的控件。
StackPanel panel = new StackPanel();
Button button=new Button(){Content="button1"};
TextBlock textblock= new TextBlock(){Text="TextBlock1"};
panel.Children.Add(button);
panel.Children.Add(textblock);
TabItem item= tabcontrol.Items[0] as TabItem;
item.Content = panel;
2.通过MVVM绑定形式,你只要在VM中动态增加你的成员,前面View就会动态显示出TabItem及内容:
public partial class MainWindow : Window {
public MainWindow()
{
InitializeComponent();
this.DataContext = new ObservableCollection<object>{ new Item1(), new Item2(), }; }
}
public class Item1 { }
public class Item2 { }
XMAL:
<Window x:Class="WpfApplication7.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication7"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<DataTemplate DataType="{x:Type local:Item1}">
<Button Content="Button"/>
</DataTemplate>
<DataTemplate DataType="{x:Type local:Item2}">
<TextBox Text="Button"/>
</DataTemplate>
</Window.Resources>
<Grid>
<TabControl ItemsSource="{Binding}">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Header" Value="Header"/>
<Setter Property="ContentTemplate" Value="{Binding}"/>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
</Grid>
</Window>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值