J'ai une application Silverlight qui utilise un DataGrid. A l'intérieur de cette DataGrid J'ai un DataTemplate qui est défini comme suit:Silverlight - Obtient le ItemsControl d'un DataTemplate
<Grid x:Name="myGrid" Tag="{Binding}" Loaded="myGrid_Loaded">
<ItemsControl ItemsSource="{Binding MyItems}" Tag="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Width="138">
<TextBlock Text="{Binding Type}" />
<TextBox x:Name="myTextBox" TextChanged="myTextBox_TextChanged" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
Lorsqu'un utilisateur saisit du texte dans la zone de texte, j'ai un événement (myTextBox_TextChanged) qui doit être tiré à ce moment. Lorsque cet événement est déclenché, je voudrais obtenir l'élément ItemsControl qui est le conteneur pour ce TextBox. Comment puis-je obtenir ItemsControl à partir de mon gestionnaire d'événements?
Veuillez noter: Étant donné que ItemsControl est dans le DataTemplate de DataGrid, je ne crois pas que je puisse simplement ajouter un x: Name et le référencer à partir de mon code-behind. Ou y a-t-il un moyen de le faire?
Merci!
Pouvez-vous me dire pourquoi vous avez besoin d'une référence à ItemsControl? Je pense qu'il y a peut-être une meilleure solution globale cachée ici. – bendewey