如何访问通过ContentControl显示的DataTemplate中包含的元素。我有一个ContentControl,它包含一个PresentationModel:
<ContentControl x:Name="ContentContainer"
Content="{Binding}"
ContentTemplate="{Binding ContentControlTemplate, ElementName=this}"
其中“this”是视图(UserControl)。
我想要EndEdit的DataGridControl,所以我尝试了这个:
ContentPresenter presenter = VisualTreeHelper.GetChild(this. ContentContainer, 0) as ContentPresenter;
DataGridControl dg = this. ContentContainer.ContentTemplate.FindName("datagrid", presenter) as DataGridControl;
dg.EndEdit();
问题是ContentControl没有子节点,可能是因为内容的绑定方式?
我感谢任何帮助。
答案 0 :(得分:0)
好吧,您将GetChild的结果转换为ContentPresenter。根据其模板,情况可能并非如此。我认为它的默认模板包含一个Border,所以你的演员表将返回null。如果您不需要它来执行除显示内容之外的任何操作,为什么不直接使用ContentPresenter?