Во-первых, суть вопроса: если элемент назначается как Content ContentControl через триггер стиля, я не могу найти его по имени.
Теперь для более подробной информации: у меня есть панель, которая сильно различается по своему макету и функциональности в зависимости от контекста данных, что является ошибкой из хранилища ошибок. Когда эта ошибка равна нулю, это форма поиска, когда она не равна нулю, это простая программа для просмотра свойств этой ошибки. Тогда XAML будет выглядеть примерно так:
<ContentControl DataContext="...">
<ContentControl.Style>
<Style TargetType="ContentControl">
<Setter Property="Content">
<Setter.Value>
...
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding}" Value="{x:Null}">
<Setter Property="Content">
<StackPanel>
<TextBox Name="Waldo"/>
<Button .../>
</StackPanel>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
Когда пользователь нажимает кнопку, которая находится рядом с текстовым полем, я получаю обратный вызов в коде позади. С этого момента я хотел бы иметь доступ к различным свойствам текстового поля. Вопрос в том, где Уолдо? :)
В исходном коде я пробовал несколько следующих вариантов, но без особого успеха:
this.FindName("Waldo"); // Always returns null
Я видел много дискуссий по этой теме в связи с шаблоны, но не в том, что касается настройки содержимого напрямую с помощью триггеров. Может быть, потому, что этим я нарушаю самые лучшие практики :)
Спасибо!