2016-04-08 10 views
1

'dan WPF MVVM uygulamasına sahibim. Orada pop-up ile bir kullanıcı kontrolü var. Kullanıcı kontrol düğmelerinden birini (Ana Bağlamalar) tıklattığımda pop-up'ı göstermek istiyorum. (Aynı şekilde yakın)Bind UserControl'ün kontrol bağını MainModule

Command="{Binding Parent.ShowPopupCommand}"    

<Popup Name="Popup1" IsEnabled="True"    
IsOpen="{Binding DisplayHelper.IsOpenPopup, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" > 
</Popup> 

yerine kullanıcı kontrolünde Bağımlılık Mülkiyet yazma i INotifyPropertyChanged arayüzü ile ayrı görünüm modelini yazdım. Oturum Açık i

RelayCommand _showPopupCommand; 
RelayCommand _hidePopupCommand; 


public ICommand ShowPopupCommand 
     { 
      get 
      { 
       if (_showPopupCommand == null) 
       { 
        _showPopupCommand = new RelayCommand(param => this.ShowPopup(), null); 

       } 
       return _showPopupCommand; 
      } 
     } 

     public ICommand HidePopupCommand 
     { 
      get 
      { 
       if (_hidePopupCommand == null) 
       { 
        _hidePopupCommand = new RelayCommand(param => this.HidePopup(), null); 

       } 
       return _hidePopupCommand; 
      } 
     } 

     private void HidePopup() 
     { 
      DisplayHelper ds = new DisplayHelper(); 
      ds.IsOpenPopup = false; 
     } 

     private void ShowPopup() 
     { 
      DisplayHelper ds = new DisplayHelper(); 
      ds.IsOpenPopup = true; 
     } 

Login.cs

gelen pop-up IsOpen özelliği bağlayıcı ediyorum ama pop-up tıklamasında gösterilmiyor.

bu

cevap

0

Kişisel problemde yardımcı olun size DisplayHelper ait bir komutu çalıştırmak her zaman yeni örneklerini oluşturmak olduğunu, ancak Görünüm ViewModel bir DisplayHelper özellik arar.

Bunu düzeltmek için, DisplayHelper'ı ViewModel'de bir özellik olarak ayarlamanızı öneririm.

İnşallah yardımcı olur ve ayrıntılı bir şekilde bana sormanız gerekirse, sormaya çekinmeyin. Mutlu Kodlama. :)

+0

nerede olursa olsun (görüntüleme) kullanıcı denetimini kullanıyorum DisplayHelper'ı viewmodel'de bir özellik olarak kullanmalıyım veya Login view modeli yeterli mi? –

+0

ViewModel veya Giriş Modelinizin yapısını bilmiyorum, ancak bunlardan herhangi birine koyabilirsiniz, sadece Bağlama'yı doğru şekilde kullanın ve gitmekte fayda var. Deneyin ve çalışmayı başaramazsanız, daha fazla kod gönderin ve daha derin bir görünüme sahip olacağım. –