2016-04-13 13 views
0

StackPanel ve Image ürünüm var. Kullanıcı bir düğmeyi tıklattığında, StackPanelVisibility özelliğinin Collapsed olarak değiştirilerek görüntünün konum değiştirmesi sağlanır.WPF'de, bir resmin ne zaman hareket ettiğini (başka bir öğe nedeniyle Görünürlük "Çöken" olarak değiştirildi) nasıl bilinir?

Bu senaryo için bir etkinlik var mı? Ne zaman olduğunu bilmenin başka bir yolu var mı?

Visibility vis; 

public Visibility Vis 
{ 
    get { return vis; } 
    set 
    { 
     vis = value; 
     imageLocationChanged(); 
     NotifyPropertyChanged("Vis"); 
    } 
} 

void imageLocationChanged() 
{ 
    //Do stuff 
} 

Not: Bunu may birçok bağlanmayı varsa

cevap

1

Eğer değişikliği bir yöntemi çağırmak için bağlayıcı kaynağının setter değiştirebilecek StackPanel ait Visibility değiştirmek için bağlayıcı kullandığınızı varsayarsak görüntüleri konumunu etkiler, her setter (OP'ın yorumunu yansıtan)

DÜZENLEME bu yöntemi çağırmak zorunda kalacak:

Eğer kodda görünürlük ayarını ciltleme yapmadan sonra, görünürlüğü ayarladıktan sonra ihtiyacınız olan yöntemi çağırın:

stackpanel1.Visibility = Visibility.Collapsed; 
imageLocationChanged(); 
+0

Teşekkürler. Ancak görünürlüğü, 'stackPanel1.Visibility = Visibility.Collapsed'… – Sipo

+0

'un arkasındaki kodda yazarak değiştiriyorum. Bu durumda, bunu yaptıktan sonra, ihtiyacınız olan işlevi çağırın. 'stackPanel1.Visibility = Visibility.Collapsed; imageLocationChanged(); ' Görüntünün hareket etmesine neden olabilecek birden fazla şey varsa bu sıkıcı olsa da, – Blinx

+0

Bu yorucu fakat işe yarıyor, bu yüzden sorumu yanıtlıyor. Daha zarif bir yolunuz varsa, bunu duymak isterim. :) – Sipo

İlgili konular