2010-06-25 6 views
0

J'ai besoin de Button.click d'une autre classe mais ne fonctionne pas pickButton.PerformClick()?Pourquoi xbutton.PerformClick() ne fonctionne pas dans silverlight?

[Category("Özel")] 
[DefaultValue(null)] 
public Button pickButton { get; set; } 


protected override void OnKeyUp(KeyEventArgs e) 
{ 
    base.OnKeyUp(e); 
    if (e.Key == Key.F10) 
    { 
     if (pickButton != null) 
     { 
      //pickButton.PerformClick() ?? 
     } 
    } 
} 

Répondre

3

PerformClick n'est pas disponible dans Silverlight.

Pourquoi ne pas extraire le code de l'événement click pickButton et appeler que des deux lieux:

protected override void OnKeyUp(KeyEventArgs e) 
{ 
    base.OnKeyUp(e); 
    if (e.Key == Key.F10) 
    { 
     if (pickButton != null) 
     { 
      DoStuff(); 
     } 
    } 
} 

et:

private void pickButton_OnClick(object sender, RoutedEventArgs e) 
{ 
    DoStuff(); 
} 

Il est évident que DoStuff() est un espace réservé pour illustrer le concept.

2

Silverlight ne prend pas en charge cette opération. Appelez l'événement click i.e. directement

pickButton.pickButton_Click(this, null); 

ou

button2_Click(this, null); 
Questions connexes