2011-07-14 19 views
20

Penceremin başlangıçta tamamen gizli olmasını istiyorum. Pencere yok, görev çubuğunda giriş yok. Kullanıcı görmüyor, uygulama başlatıldı.Başlangıçta WPF penceresini tamamen gizleyin?

Bunu nasıl fark edebilirim?

Teşekkür ederiz!

+0

Pencereyi daha sonra açabilecek mi? –

+1

İlgilenimde, bu aslında hangi sorunu çözüyor? Uygulamanızın birden çok örneğini engellemek için os muteksleri kullanmayı düşünmeniz gerekebilir. Bir kullanıcı bir şey açılmazsa yanlış tıklattıklarını düşünebilir ... – LukeN

+0

@LukeN: Geçerli bir kullanım örneği GUI uygulamanızı komut satırı programı olarak kullanıyor (bu durumda komutları arka planda komut istemeden çalıştırmak isteyebilirsiniz) yukarı, sonra çıkış). Bazen bir uygulamanın iki versiyonunu nadiren kullanılan komut satırı desteğine sahip olmak uygun değildir. – Cameron

cevap

28

H.B.'nin yöntemine bir alternatif, yalnızca Visibility'u gizlemek ve ShowInTaskbar'u false olarak ayarlamaktır. Bu hala pencereyi yaratıyor ve onun yapmasını sağlıyor.

<Window x:Class="WpfApplication2.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" ShowInTaskbar="False" Visibility="Hidden"> 
    <Grid> 

    </Grid> 
</Window> 
+1

Bildirinizden emin misiniz? Şu anda hile kullanmaya çalışıyorum ve Görünürlük "Gizli" ise "MainWindow" un 'Load' olayının ortaya çıkmadığı görülüyor. –

+1

@EmrysMyrooin Yükleme olayı pencere ilk göründüğünde tetiklenir, hiç görmediği için asla kovulmaz. Pencere oluşturulduktan sonra bir şeyler yürütmeniz gerekiyorsa, başlangıç ​​olayını kullanmayı deneyin. – Wobbles

+0

Bu benim için çalışmadı. @ H.B kullanımı daha kolay oldu. cevabı. IE istemiyorsam bir pencere oluşturup göstermiyor. –

18

Pencereyi gösterme. Varsayılan olarak, App.xaml içinde tanımlanmış bir StartupUri vardır, kaldırın ve bir pencere oluşturmak için arkadaki kodda OnStartup yöntemini geçersiz kılmak, sadece Show ve istediğiniz gibi.

+1

Kabul edilen yanıt – Adam

11

Sadece pencere oluşturmayın, sadece App.xaml'dan StartupUri dosyasını silin.

Uygulamayı ShutDownMode="OnExplicitShutdown" olarak ayarlamanız yararlı olabilir; bu, son pencereniz kapatıldığında uygulamanızın kapanmasını engeller.

+2

olması gerektiğini düşünüyorum. Aslında ShutDownMode'u OnExplicitShutdown'a ayarlamanız gerektiğini sanmıyorum. Sanırım bu sadece bir pencereyi gösterdiğinde uygulamanın kapanmasını istemiyorsa ve sonra onu kapatıyorsa – LukeN

+1

'u kapatması gerekiyor. Bunun için uygulamayı oluşturmak istediği uygulamaya bağlı olarak yararlı olabilir, aksi halde uygulama en kısa zamanda kapanacak Son pencere dediğin gibi kapalı. Bu, Uygulama yaşam döngüsü üzerinde ona açık bir kontrol sağlayacaktır. Ama cevabımı, kesinlikle gerekli olmadığını yansıtacak şekilde düzenleyeceğim. –

İlgili konular