Я пытаюсь получить доступ к названию TextBox
(textBoxAnswer) в коде, стоящем за моей страницей WPF. Беда в том, что она является частью DataTemplate
, она не автогенерируется как частный член класса, как если бы я не использовал ContentPresenter
+ DataTemplate
. (Я использую , потому что мне нужно использовать DataTrigger
s, не включенный в пример ниже).Доступ к названному TextBox в коде, указанном в DataTemplate ContentPresenter
Я пробовал звонить FindResource("textBoxAnswer")
и FindName("textBoxAnswer")
, но ничего не возвращаю.
Любые предложения? Вот урезанная версия моего 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>
блестящий, спасибо! Я принял ответ, но у вас была небольшая ошибка, которую я исправил - должен быть .ContentTemplate, а не .DataTemplate. Кроме того, его нельзя вызывать в конструкторе, но только после загрузки страницы. –