积极答复者
wpf tabcontrol 单击事件主窗口里的tabcontrol添加已经设计好的usercontrol 窗口

问题
答案
-
最简单的方式如下:
<Window x:Class="MsdnTemp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:MsdnTemp" xmlns:views="clr-namespace:MsdnTemp.Views" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525" Name="root"> <Grid> <Grid.Resources> </Grid.Resources> <TabControl> <TabItem Header="Header1"> <views:UserControl1 /> </TabItem> <TabItem Header="Header2"> <views:UserControl2 /> </TabItem> </TabControl> </Grid> </Window>
其中,我的UserControl是放在Views文件夹下的。
效果如下:
这里我用到了TabItem,是因为要给TabControl的每个标签添加标题;其实也可以不需要TabItem,直接把UserControl1,UserControl2放在TabControl的子级。
如果你需要更加灵活的方式来添加TabContorl的子项,建议使用MVVM方式。
- 已编辑 Lymim 2015年12月22日 4:11
- 已建议为答案 Jie BaoModerator 2015年12月22日 4:58
- 已标记为答案 Xavier Xie-MSFTModerator 2016年1月11日 2:27
全部回复
-
WPF TabControl是一个ItemsControl,所以它可以展现基于TabItem为容器元素的集合。最简单,你只需要的只是将你的UserControl装入一个Grid,然后将这个Grid放入一个TabItem,最后将TabItem放入TabControl.Items即可。
当然,你也可以用Items DataBinding,将TabControl.ItemsTemplate 指向一个DataTemplate, 这个Template中用Grid来包裹你的UserControl。
Bob Bao
Do you still use the same Windows 8 LockScreen always? Download Chameleon Win8 App quickly, that changes your LockScreen constantly.
你是否还在看着一成不变的Windows 8锁屏而烦恼,赶紧下载这个 百变锁屏 应用,让你的锁屏不断地变化起来。 -
最简单的方式如下:
<Window x:Class="MsdnTemp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:MsdnTemp" xmlns:views="clr-namespace:MsdnTemp.Views" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525" Name="root"> <Grid> <Grid.Resources> </Grid.Resources> <TabControl> <TabItem Header="Header1"> <views:UserControl1 /> </TabItem> <TabItem Header="Header2"> <views:UserControl2 /> </TabItem> </TabControl> </Grid> </Window>
其中,我的UserControl是放在Views文件夹下的。
效果如下:
这里我用到了TabItem,是因为要给TabControl的每个标签添加标题;其实也可以不需要TabItem,直接把UserControl1,UserControl2放在TabControl的子级。
如果你需要更加灵活的方式来添加TabContorl的子项,建议使用MVVM方式。
- 已编辑 Lymim 2015年12月22日 4:11
- 已建议为答案 Jie BaoModerator 2015年12月22日 4:58
- 已标记为答案 Xavier Xie-MSFTModerator 2016年1月11日 2:27