【问题标题】:call to page inside tab control via code通过代码调用选项卡控件内的页面
【发布时间】:2013-12-30 10:13:41
【问题描述】:

我注意创建向导,在向导中我有选项卡控件,它必须根据上下文调用用户控件,我需要创建能够调用的向导 根据用户选择不同的页面,目前我调用的页面如下我认为不是正确的方式,任何想法我应该怎么做通过代码(不是在 xaml 中)即根据某些决定将合适的页面调用到选项卡控件。 这是 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..

。 主选项卡控件中没有添加

【问题讨论】:

    标签: c# wpf wpf-controls wpfdatagrid


    【解决方案1】:

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

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

    【讨论】:

    • 我正在阅读这篇文章并尝试按照他的逻辑做一些事情但没有成功:(...请查看我更新的帖子,有什么想法吗?提前致谢
    • 如果您正在寻找使用 TabControl,您正在查看类似 MainTabControl.Items.Add(new TabItem() {Content = new UserControl()}); TabControl 基于 ItemsControl,就像 ListBox 一样,因此它的子项 TabItem 是通过 Items 属性或 ItemsSource 属性添加的。 TabItem 基于 HeaderedContentControl,这意味着它具有 Header 属性和 Content 属性。
    【解决方案2】:

    我同意 Mark 的观点,使用 NavigationWindows 比使用 TabControls 容易得多。

    我已经开发了很多这样的界面,并写了一些基本的东西,

    然后最近我研究了如何使样式恰到好处

    事实上,我已经在

    上以开源形式发布了样式和示例

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 2012-12-08
      相关资源
      最近更新 更多