通过代码调用选项卡控件中的页面

时间:2013-12-30 10:13:41

标签: c# wpf wpf-controls wpfdatagrid

我注意创建向导,在向导中我有tab控件,必须根据上下文调用用户控件,我需要创建一个能够调用的向导 根据用户选择不同的页面,目前我打电话给页面,我认为不是正确的方式,任何想法我应该怎么做通过代码(不在xaml)ie根据一些决定调用适当的页面到选项卡控件。 这是xaml:

    <Border Grid.Column="1" Name="MainBorder">
        <TabControl x:Name="MainTabControl" Height="638" VerticalAlignment="Bottom">
            <TabItem Visibility="Collapsed" >
                <Frame Source="page1.xaml" />
            </TabItem>
            <TabItem Visibility="Collapsed" >
                <Frame Source="page2.xaml"/>
            </TabItem>
            <TabItem Visibility="Collapsed" Header="Step 3">
                <TextBlock Text="Page 3"/>
            </TabItem>
            <TabItem Visibility="Collapsed" Header="Step 4">
                <TextBlock Text="Page 4"/>
            </TabItem>
        </TabControl>
    </Border>

更新 我在主窗口尝试如下,但没有成功 按代码创建新选项卡并将其添加到第1页,然后将其添加到MainTabControl

  TabControl tabControl = new TabControl(new Page1());
            MainTabControl.add..

。 主标签控件中没有添加

2 个答案:

答案 0 :(得分:1)

对于这种情况,我会使用Frame而不是标签。框架允许您通过NavigationService管理其内容的流程。您可以使用Uri通过Frame.Source属性显示页面,或通过Frame.Content属性显示FrameworkElement。两者都是DependencyProperties,因此可以绑定到。

Paul Stovel撰写了一篇名为WPF Navigation的精彩博客。在这个博客中可以找到从框架创建向导所需的一切,包括在页面之间传递值和框架的模板,以简单地处理导航按钮的显示。

答案 1 :(得分:0)

我同意Mark,使用NavigationWindowTabControl更容易。

我已经开发过很多像这样的接口,并用

写了一些基本的东西

然后最近我研究了如何正确地进行造型

事实上,我已经在

中发布了样式和示例作为开源

有一些简单的示例代码,包括使用左侧的导航列表,

希望这有帮助