2009-12-17 4 views
0

Je développe une application wpf. Fondamentalement, j'ai deux types de fenêtres: fenêtres de recherche et insérer/modifier les fenêtres. Quand j'ai développé des applications de formulaires gagnants, j'ai utilisé un truc, appelé MdiParent. De cette façon, j'ai eu la possibilité de mettre mes fenêtres de type recherche caled dans une "pile". En d'autres mots si j'ai appelé 5 fenêtres de recherche différentes de meniu, ils sont apparus dans un composant comme le contrôle de tabulation, l'un après l'autre. En cliquant sur ces onglets, je pouvais voir les résultats de recherche de l'onglet. L'astuce comme je l'ai dit était technique MdiParent, comme:Techniques d'organisation de fenêtres WPF

private ProductDiscount frmProductDiscount = null; 

private void ProductDiscountToolStripMenuItem_Click(object sender, EventArgs e) 
{ 

     if ((frmProductDiscount == null) || (!frmProductDiscount.Visible)) 
     { 
      frmProductDiscount = new ProductDiscount(); 
      frmProductDiscount.MdiParent = this; 
      frmProductDiscount.Show(); 
     } 
     else 
     { 
      frmProductDiscount.Activate(); 
     } 
    } 

Donc ce que quelqu'un peut me suggérer une bonne façon de mettre en œuvre une telle technique d'organisation de fenêtre WPF et de mettre des liens ou des exemples .. Ce serait un grand? aide pour moi.

Répondre

1

Il n'y a aucun équivalent de Form.MDIParent dans WPF et MDI ne prend pas en charge l'idée d'une mise en page MDI. Vous pouvez définir un propriétaire Windows dans une autre fenêtre. Cela minimisera l'enfant lorsque le parent est réduit. Pour un exemple de fonctionnalité de style MDI jetez un oeil à ce fil link text où Marlon Grech a écrit quelque chose de similaire à ce que je crois que vous essayez de faire.

0

Nous avons développé une application similaire, car WPF n'a pas de framework MDI par défaut mais comme il est complètement personnalisable, vous pouvez créer des contrôles utilisateur de votre "Window" au lieu du type Window et vous pouvez utiliser un TabControl et vous pouvez personnaliser TabControl pour avoir des boutons de fermeture etc. Windows dans les onglets tels qu'ils apparaissent dans Visual Studio, IE etc, ils fonctionnent bien pour ce type de scénario lorsque vous ne voulez pas bloquer l'entrée utilisateur sur la boîte de dialogue modale.

Questions connexes