2009-02-14 9 views
4

Je voudrais avoir le formulaire principal de WPF avec le contrôle de tabulation où chaque étiquette contient un formulaire indépendant de WPF. Ces formes ne dépendent pas les unes des autres, alors j'ai pensé qu'il serait plus facile de développer chacune d'entre elles séparément et ensuite de les intégrer dans la forme principale.
Comment intégrer un formulaire WPF dans un autre?

Le nombre de formes est connu, il n'y a donc pas besoin de système de plugin dynamique.

Répondre

2

Consultez cet article MSDN par Josh Smith. C'est une excellente solution pour votre question.

WPF Apps avec le motif

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

+0

+1 Exactement ce que j'allais recommander. –

+1

C'est un bon article, mais vous pourriez peut-être mettre en évidence la solution comme un extrait de votre réponse. – matrixugly

6

Lorsque vous utilisez un Frame ou NavigationWindow vous pouvez le faire charger différents xaml Pages et même html. Vous pouvez également le faire agir comme un navigateur avec la navigation avant et arrière. Voir http://msdn.microsoft.com/en-us/library/ms750478.aspx

Vous pouvez mettre un cadre sur chaque onglet et le charger une certaine page.

<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

conception Model-View-ViewModel Faire les formulaires enfants proviennent de UserControl, sous la forme de maître ajouter un contrôle onglet avec l'un de ces contrôles utilisateur à l'intérieur de chaque languette.

+0

Nir, C'est la solution que je préconisais. Je suis sûr que je peux le comprendre, mais peut-être que cela ne vous dérangerait pas de poster le xaml.cs de votre nouvelle classe UserControl, puis comment vous publieriez le contenu de votre xaml personnalisé dans say, MainWindow.xaml. Un exemple concret (même si trivial serait utile) – matrixugly

1

Je préfère faire cela avec usercontrol d'abord créer un contrôle utilisateur enter image description here

après, faire référence de cette userControle dans un autre endroit enter image description here

partout dans le frmHome ...

<DockPanel> 
     <Entity:ucContactList/> 
</DockPanel> 
Questions connexes