2010-02-26 7 views
1

J'utilise ce code pour produire une fenêtre d'aperçu avant impression.WPF: La boîte de dialogue affiche * sous * la fenêtre principale. Comment l'obtenir pour atteindre le sommet?

using (XpsDocument doc = new XpsDocument(fileName, FileAccess.Read)) 
{ 
    FixedDocumentSequence fds = doc.GetFixedDocumentSequence(); 

    using (var reader = new System.Xml.XmlTextReader(new StringReader(xaml))) 
    { 
     Window preview = System.Windows.Markup.XamlReader.Load(reader) as Window; 

     DocumentViewer dv1 = LogicalTreeHelper.FindLogicalNode(preview, "dv1") as DocumentViewer; 
     dv1.Document = fds as IDocumentPaginatorSource; 
     dv1.FitToMaxPagesAcross(1); 

     // show the dialog 
     preview.ShowDialog(); 
    } 
} 

Mais la fenêtre de prévisualisation apparaît généralement sous la fenêtre principale. Comment puis-je obtenir l'aperçu pour rester au top?

Ce code génère dynamiquement une fenêtre à partir d'un modèle XAML simple au moment de l'exécution, mais cet aspect particulier du code ne devrait pas être pertinent pour le problème que je rencontre.


double:
How do I focus a modal WPF Window when the main application window is clicked?

Répondre

1

Définissez la propriété Owner de la fenêtre preview à la fenêtre en cours avant d'afficher la boîte de dialogue.

Questions connexes