J'essaie d'accéder à un TextBox
(textBoxAnswer) nommé dans le code derrière ma page WPF. Le problème est, car il fait partie d'un DataTemplate
, il n'est pas généré automatiquement en tant que membre privé de la classe, comme ce serait le cas si je n'utilisais pas le ContentPresenter
+ DataTemplate
. (J'utilise le DataTemplate
car j'ai besoin d'utiliser DataTrigger
s, non inclus dans l'exemple ci-dessous).Accéder à un TextBox nommé dans le code derrière un DataTemplate d'un ContentPresenter
J'ai essayé d'appeler FindResource("textBoxAnswer")
et FindName("textBoxAnswer")
, mais aucun ne retourne rien.
Des suggestions? Voici une version dépouillée de mon XAML:
<Page x:Class="LearningGames.Numbers.NumbersPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ContentPresenter Content="{Binding}">
<ContentPresenter.ContentTemplate>
<DataTemplate>
<Grid>
<TextBox Margin="5" x:Name="textBoxAnswer"
Text="{Binding Answer}" />
</Grid>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
brillant, merci! J'ai accepté la réponse, mais vous avez eu une petite erreur que j'ai corrigée - devrait être .ContentTemplate, pas .DataTemplate. En outre, ne devrait pas être appelé dans le constructeur, mais seulement après le chargement de la page. –