2016-04-06 39 views
0

Ana form ve birkaç kullanıcı denetimi olan bir windows mağazası uygulamasına sahibim. Her kullanıcı denetiminde, bir görüntülendiğinde, dokunduğunda, kullanıcı kontrolünün dışında bir storyboard animasyonu kurulumu tetiklemesi gerekir.Ana formdaki kullanıcı denetiminde belirli bir düğmeyle ilgili dokunma olayları nasıl yakalanır?

Kullanıcı denetleyicisini IN düşürmek için kullanılan film şeridi, iyi çalışıyor, ancak açık bir şekilde, kullanıcı denetimi içinde kapat düğmesi tıklatıldığında patlatmak için solma OUT animasyonuna ihtiyacım var.

Kullanıcıya eklediğim kod, kapat düğmesini tıklatıldığında kendini ateşlemenin kontrolü. Sorun şu ki, sadece kapat düğmesine değil, kullanıcı denetiminde 'a tıkladığınızda ateşleniyor.

public sealed partial class Page02 : UserControl { 

    public delegate void CloseButtonTappedHandler(object sender, TappedRoutedEventArgs e); 
    public event CloseButtonTappedHandler CloseButtonTapped; 

    public Page02() { 
     this.InitializeComponent(); 
     this.imgCloseButton.Tapped += new TappedEventHandler(this.imgCloseButton_Tapped); 
    } 

    private void imgCloseButton_Tapped(object sender, TappedRoutedEventArgs e) { 
     if (CloseButtonTapped != null) { 
      CloseButtonTapped(sender, e); 
     } 
    } 
} 

ana sayfa kodu şuna benzer:

public sealed partial class MainPage : Page { 

    public MainPage() { 
     InitializeComponent(); 
     this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(Page02_CloseButtonTapped), true); 

    } 

    private void textBlock1_Tapped(object sender, TappedRoutedEventArgs e) { 
     MenuBar01.Visibility = Visibility.Visible; 

     HideUserControl1.Begin(); 
     ShowUserControl2.Begin(); 
    } 

    private void Page02_CloseButtonTapped(object sender, TappedRoutedEventArgs e) { 
     HideUserControl2.Begin(); 
    } 
} 
+1

Lütfen XAML'nizi de ekleyin – oppassum

+0

cevap

1

hattı:

this.AddHandler(UIElement.TappedEvent, new TappedEventHandler(Page02_CloseButtonTapped), true); 

Page02_CloseButtonTapped yöntemine MainPage oturtulmuş olayı ilişkilendirerek edilir. Yani üzerindeki herhangi bir dokunma olayı, yöntemi tetikleyecektir.

Bunun yerine, bunun yerine Page02 denetimindeki CloseButtonTapped olayına eklemek istediğinizi varsayar mıyım?

+0

evet, kullanıcı denetimi içindeki "imgCloseButton" özel kontrolüne bağlı olması gerekiyor. – mdrussell0779

+0

Ancak ana formun, olayın farkında olan kullanıcı olması gerekir, böylece kullanıcı bu düğmeye tıklandığında kullanıcının kontrolünü kaybedebilir – mdrussell0779

+0

Doğru cevap budur. Bahsettiği satırın yerine, onu Page02.CloseButtonTapped + = ... - ile değiştirip sayfa adının ne olursa olsun Page02 ile değiştirin. Bu, etkinliğinize bağlanacak, biri için yeni bir işleyici oluşturmayacak. – oppassum

İlgili konular