2010-08-03 18 views
17

Tek bir uygulama oluşturdum ve kullanıcı uygulamayı birden çok kez başlatıyorsa, önceden açılmış bir pencereyi etkinleştirmek istiyorum. Bu iyi çalışıyor ancak sorun var, zaten açılmış olan pencere başka bir uygulama penceresinin ötesindeyse, onu öne getirmeliyim.WPF Penceresini öne nasıl getiriyorsunuz?

Pencereyi denedim.Focus() ve window.Show() ancak her ikisi de çalışmıyor gibi görünüyor. Bir geçici çözüm olarak…

… bu benim için bir iş yapıyor ama bana çok çirkin görünüyor. Bunun için daha iyi bir çözüm var mı?

cevap

30

yerine Window.Activate kullanabilirsiniz:

window.Activate(); 

Bu SetForegroundWindow çağırmaya WPF equivelent olduğunu.

+1

Mükemmel! Teşekkürler. – HCL

+1

En küçük duruma getirilmişse, pencereyi geri yüklemek için: 'if (myWindow.WindowState == WindowState.Minimized) myWindow.WindowState = WindowState.Normal;' Aynı zamanda, pencerenin Normalleştirilmiş durumuna geri döndürmemekle birlikte, Pencerenin Büyütülmüş durumunu da koruyacaktır. – r41n

İlgili konular