2016-04-11 25 views
0

Aşağıdaki Görüntüde, kullanıcının usercontrol olarak arka plan İçeriği ve bir ön daire UserControl olarak var. Arka plandaki usercontrolde bir buton tıklandığında, o zaman UserControl çemberini ön tarafa getirerek ve arka plandaki resimde görüldüğü gibi arka planı bulanıklaştırarak görüntülemem gerekiyor. Şu anda ViewModel'deki ilk UserControl'de bir komuta sahibim ve böyle bir şey yapıyorum. Sorun, Pencerenin öne getirilmemesi ve arka planı bulanıklaştıramam. Lütfen yardım et.Kullanıcı Kontrolünü ön arka plana dönüştürürken ön plana getirme

private void OpenWidget(object obj) 
     { 
      WidgetWindow window = new WidgetWindow(); 
      window.WindowState = WindowState.Maximized; 
      window.WindowStyle = WindowStyle.None; 
      window.Show(); 
      window.BringIntoView(); 
     } 

enter image description here

cevap

0

onun yerine bir Pencere kullanmayı tercih, bu nedenle böyle bir şey: düğme işleyicisinde Sonra

<Window x:Class="YourNamespace.WidgetWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="WidgetWindow" 
    WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowState="Maximized" 
    AllowsTransparency="True" Background="#80000000"> 
    <Grid> 
     <Ellipse Width="300" Height="300" Fill="CornflowerBlue" /> 
    </Grid> 
</Window> 

bir ShowDialog() yapmak ve bulanıklaşmaya ana pencerenin etkisini ayarlayın:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    this.Effect = new BlurEffect(); 
    var dlg = new WidgetWindow(); 
    dlg.Owner = this; 
    dlg.ShowDialog(); 
    this.Effect = null; 
} 

Sonuç:

Açıkçası

enter image description here

Eğer örneğin özel gereksinimlere bu uyarlamak gerekir Tam ekran istemiyorsanız veya ShowDialog() yerine Show() kullanarak bir UserControl kullanarak modelleme vb ihtiyacınız varsa ancak bu başlamanız için yeterli olmalıdır.

+0

Teşekkürler işte bu işe yaradı :) – nikhil

+1

* cornflower blue * [Tyler Durdening yoğunlaşıyor] – Will

+0

Mark, bu soruya bana yardımcı olabilir misiniz? http://stackoverflow.com/questions/37288231/close-current-window-when-parent-usercontrol-is-clicked-wpf?noredirect=1#comment62102538_37288231 – nikhil

İlgili konular