我有一个数据模板选择器,我用它来选择两个不同的模板。问题是,这些模板包含一个网格作为外部元素等。我所做的是我的UserControl.Resources中的资源控件中有我的模板选择器:
<l:UIDataTemplateSelector x:Key="UISelector"
ClassicDataTemplate="{StaticResource ClassicDataTemplate}"
ModernDataTemplate="{StaticResource ModernDataTemplate}" />
然后在此之外,我有我的内容控件,我的模板在控件模板中:
<ContentControl ContentTemplateSelector="{StaticResource UISelector}"></ContentControl>
当我运行我的代码时,这会导致它崩溃,但如果我使用:
<ContentControl Template="{StaticResource ClassicDataTemplate}"></ContentControl>
要使用一个模板或另一个模板,它的工作原理非常好。是否有一种简单的方法可以让它使用模板选择器来显示它?
答案 0 :(得分:0)
#menu .nav-tabs>li>a.menu_digital:active>.main-menu-icon,
#menu .nav-tabs>li>a.menu_digital.active>.main-menu-icon {
background: url(/images/digital_white.svg);
}
的{{1}}类型为ContentControl
。它还接受Template
类型ControlTemplate
和ContentTemplate
,预计会选择DataTemplate
。在您的情况下,由于ContentTemplateSelector
正在运行,我怀疑您创建了DataTemplate
而不是Template="{StaticResource ClassicDataTemplate}"
。您需要有效ControlTemplate
才能转移到选择器。