C# 为什么可以';我是否在另一个数据网格中嵌套一个RowDetails静态资源?
为什么GenderTemplateSelectorEsted类不能像其父类一样返回数据模板?为了简洁起见,我简化了代码 错误 类型的未处理异常 中出现“System.Windows.Markup.XamlParseException” PresentationFramework.dll 其他信息:“SchdUtil.genderTemplateSelectorEsted”不是 属性“RowDetailsTemplate”的有效值 XAMLC# 为什么可以';我是否在另一个数据网格中嵌套一个RowDetails静态资源?,c#,wpf,datagrid,C#,Wpf,Datagrid,为什么GenderTemplateSelectorEsted类不能像其父类一样返回数据模板?为了简洁起见,我简化了代码 错误 类型的未处理异常 中出现“System.Windows.Markup.XamlParseException” PresentationFramework.dll 其他信息:“SchdUtil.genderTemplateSelectorEsted”不是 属性“RowDetailsTemplate”的有效值 XAML 您正在将模板选择器直接指定给模板。您需要改用模板选择器属
您正在将模板选择器直接指定给模板。您需要改用模板选择器属性
<l:GenderTemplateSelector x:Key="genderTemplateSelector">
<l:GenderTemplateSelector.MaleTemplate>
<DataTemplate>
<DataGrid RowDetailsTemplateSelector="{StaticResource genderTemplateSelectorNested}"
...
</DataGrid>
</DataTemplate>
</l:GenderTemplateSelector.MaleTemplate>
</l:GenderTemplateSelector>
就是这样。我为父对象执行了该操作,没有将其复制并粘贴到嵌套的子对象,但使用intellisense将其写入,并丢失了选择器位。我现在觉得很傻。谢谢
public class GenderTemplateSelector : DataTemplateSelector
{
public DataTemplate MaleTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
return MaleTemplate;
}
}
public class GenderTemplateSelectorNested : DataTemplateSelector
{
public DataTemplate MaleTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
return MaleTemplate;
}
}
<l:GenderTemplateSelector x:Key="genderTemplateSelector">
<l:GenderTemplateSelector.MaleTemplate>
<DataTemplate>
<DataGrid RowDetailsTemplateSelector="{StaticResource genderTemplateSelectorNested}"
...
</DataGrid>
</DataTemplate>
</l:GenderTemplateSelector.MaleTemplate>
</l:GenderTemplateSelector>