2009-01-13 4 views
1

J'ai une page silverlight avec un bloc de texte et un bouton dessus. Comme ceci:Silverlight Button Click Evénement

<TextBlock x:Name="txbNote" Margin="50,50" Text="Hello"/>   
<Button x:Name="btnCheck" Height="40" Click="btnCheck_Click" ClickMode="Press" Margin="50,50,50,50" Content="Check Service"/> 

Voici le gestionnaire pour l'événement click:

Private Sub btnCheck_Click(ByVal sender As Object, ByVal e As EventArgs) 'Handles btnCheck.Click 
    txbNote.Text = "I Was Clicked" 
End Sub 

Il fonctionne ... mais ... Pourquoi pas ce travail?

<Button x:Name="btnCheck" Height="40" Click="btnCheck_Click" ClickMode="Press" Margin="50,50,50,50" Content="Check Service"/> 
<TextBlock x:Name="txbNote" Margin="50,50" Text="Hello"/>   

La seule modification est la position relative du bloc de texte et du bouton. L'événement click du bouton (et tous les autres événements que j'ai essayé) ne se déclenche que si le bloc de texte se trouve avant le bouton dans le xaml.

Répondre

1

Vous devrez peut-être poster plus de code car cela pourrait être un problème avec les balises qui l'entourent, comme le conteneur que ces contrôles sont.

Si vous ne parvenez pas à le coller tout StackOverflow, utilisez www.dpaste.com ou www.pastebin.com.

0

Si vous placez ces éléments dans le panneau au lieu de la grille, il commence à fonctionner.

0

Comme vous l'avez mentionné, si vous avez placé deux éléments dans la grille, le dernier élément est dans la hiérarchie, tous les événements de niveau supérieur sont reçus par TextBlock, vous devez créer deux colonnes dans la grille et placer les éléments dans des colonnes individuelles.