在ContentControl模板中查找元素

时间:2014-02-03 11:07:17

标签: c# wpf xaml

我有一个ContentControl,ContentTemplate绑定到DataTemplate,包含一个Grid(或某种Panel)。

如何访问ContentContorl中的Grid?

ContentControl中

<ContentControl
    x:Key="InputControl"
    Content="{Binding}"
    ContentTemplate="{Binding InputTemplate.Template}" />

的DataTemplate

<DataTemplate x:Key="SpeechOutputTemplate">
    <Grid Height="100" Margin="132,0" x:Name="RootElement">
        <!-- content -->
    </Grid>
</DataTemplate>

使用InputControl.FindName("RootElement")似乎不适合我。

顺便说一下。是否有一个事件,在ContentTemplate更改后被触发了?

1 个答案:

答案 0 :(得分:1)

FrameworkElement.GetTemplateChild

如果没有所请求名称的元素,

GetTemplateChild将返回可视树中的elementnull

FrameworkElement mElement = GetTemplateChild("InputControl") as FrameworkElement;