【问题标题】:show a page inside a window in XAML在 XAML 中的窗口内显示页面
【发布时间】:2011-07-25 13:45:50
【问题描述】:

我的窗口中有一个 tabcontrol,在每个 tabitem 里面我想有一个不同的页面。
我可以通过在 TabItem 内创建一个 Frame 并在后面的代码中使用例如:

frame1.Content = new Pages.MyPage()  

如何在 XAML 中做同样的事情?

【问题讨论】:

    标签: c# wpf window frame


    【解决方案1】:

    您可能不需要框架。这样的事情应该可以工作。

    <TabControl>
      <TabItem>
        <MyPage Name=frame1 />
      </TabItem>
      <TabItem>
        <MyPage Name=frame2 />
      </TabItem>
    </TabControl>
    

    如果你想要框架就这样做:

    <TabItem>
      <Frame>
        <MyPage Name=frame1 />
      </Frame>
    </TabItem>
    

    【讨论】:

    • 第一个解决方案导致 InvalidOperationException:“页面只能有窗口或框架作为父级”。第二个,“框架不支持直接内容”。
    • MyPage 是否扩展了 UserControl?如果不是,它扩展了哪个类?
    • 我不知道。这只是一个普通的页面。我怎么知道?
    • steini:
    【解决方案2】:
    <TabItem>
      <Frame Source="MyPage.xaml" />
    </TabItem>
    

    【讨论】:

    • 哈哈……就这么简单。谢谢。但它不会出现在设计器中。也许不可能?
    • @steini:我不知道。我从不使用设计师 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多