如何将一个WPF窗体嵌入到另一个窗体中?

5
我希望有一个主WPF表单,其中包含选项卡控件,每个选项卡都包含一个独立的WPF表单。这些表单彼此之间没有依赖关系,因此我认为将它们单独开发,然后将它们嵌入到主表单中会更容易。
表单的数量已知,因此不需要动态插件系统。
3个回答

8
当你使用FrameNavigationWindow时,可以加载不同的xaml Pages甚至是html。你还可以使其具有前进和后退导航的浏览器功能。请参见http://msdn.microsoft.com/en-us/library/ms750478.aspx 你可以在每个选项卡上放一个Frame,并让它加载特定的页面。
<Window x:Class="PluginApplication.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <DockPanel>
        <Frame Name="frame" NavigationUIVisibility="Visible" Source="SomePage.xaml" />
    </DockPanel>
</Window>

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    WindowTitle="Page Title"
    WindowWidth="500"
    WindowHeight="200">
  Hello world
</Page>

4
让子表单继承自UserControl,在主表单中添加一个选项卡控件,并在每个选项卡中添加一个这些用户控件。

Nir,这是我倾向于的解决方案。我相信我可以弄清楚,但也许你不介意发布你的新UserControl类的xaml.cs,然后如何将你自定义的xaml内容发布到MainWindow.xaml中。一个具体的例子(即使微不足道)会很有帮助。 - C. Tewalt

1
我希望您使用用户控件来完成此操作 首先创建用户控件 输入图像描述 然后,在其他地方包含此用户控件的引用 输入图像描述 在frmHome中的任何位置...
 <DockPanel>
      <Entity:ucContactList/>
 </DockPanel>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接