在DataTemplate中,我想显示实际被DataTemplate替换的Control。通过错误验证,可以使用<AdornedElementPlaceHolder />
。但是,这似乎不适用于普通的DataTemplate。
我认为会有一个简单的解决方案,但却找不到它。
非常感谢
答案 0 :(得分:1)
这是不可能的,这就是原因。 DataTemplate
不会取代任何内容。相反,定义DataTemplate 的控件包含由其提供的内容。如果有可能那么会有一个无限循环(控制 - &gt;数据模板 - &gt;控制 - &gt;数据模板 - &gt; ......)。
我建议您阅读以下文章以完全理解数据模板:http://msdn.microsoft.com/en-us/library/ms742521.aspx
答案 1 :(得分:1)
DataTemplate在某种意义上“替换”数据对象而不是 UI 对象 - 换句话说,不是控件。如果您尝试使用正在使用模板的Control的属性(通常是ContentControl或ItemsControl),请尝试RelativeSource Binding,其中AncestorType是控件的类型。