从ContentPresenter的DataTemplate访问后面代码中的命名TextBox

时间:2009-09-12 18:20:35

标签: wpf xaml textbox datatemplate

我正在尝试访问WPF页面后面代码中的命名TextBox(textBoxAnswer)。问题是,因为它是DataTemplate的一部分,所以它不是作为类的私有成员自动生成的,就像我没有使用ContentPresenter + {{1 }}。 (我使用的是DataTemplate,因为我需要使用DataTemplate s,但未包含在下面的示例中。

我尝试过调用DataTriggerFindResource("textBoxAnswer"),但都没有返回任何内容。

有什么建议吗?这是我的XAML的简化版本:

FindName("textBoxAnswer")

1 个答案:

答案 0 :(得分:2)

ContentPresenter命名(我假设它是cpAnswer),然后使用模板的FindName方法访问文本框:

TextBox textBoxAnswer = cpAnswer.ContentTemplate.FindName("textBoxAnswer", cpAnswer) 
as TextBox;