2009-04-06 7 views
0

Je souhaite créer une fenêtre enfant flottante dans l'application .NET 3.0 WPF. Ce que je fais est:Fenêtre flottante enfant dans WPF

sideWindow = new SideWindow(this); 
sideWindow.Left = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width - sideWindow.Width; 
sideWindow.Top = 125; 
sideWindow.WindowStartupLocation = WindowStartupLocation.Manual; 
sideWindow.Owner = this; 
sideWindow.Show(); 

Cela fonctionne bien, sauf un client. Selon les messages de trace, la fenêtre est créée, mais le client ne la voit pas!

Une idée sur des problèmes similaires?

Merci beaucoup.

Répondre

0

Avez-vous essayé d'utiliser le natif WPF:

System.Windows.SystemParameters.PrimaryScreenWidth 

J'utilise habituellement SystemParameters.VirtualScreenWidth qui fonctionne mieux avec deux moniteurs.

+0

Je vider les positions, la hauteur et la largeur de la fenêtre et ils sont corrects. Si j'essaie de trouver une fenêtre enfant à l'aide de Snoop, il n'y a pas de fenêtre dans l'arborescence des objets. Mais je ne peux pas le trouver sur l'ordinateur affichant la fenêtre aussi. –

0

Je suis surpris que cela fonctionne à tous: sideWindow.Width devrait être NaN (pas un nombre) lorsque vous le vérifiez, car la mise en page n'a pas été effectuée à ce moment-là.

Vous devez appeler les méthodes Measure/Arrangure sur sideWindow.

Questions connexes