【发布时间】:2014-03-01 02:32:43
【问题描述】:
我有想要显示的具有不同属性的 ListView,其中一些是列表本身。这些子列表将使用与父列表中相同的 DataTemplates(但要缩进)。
有没有办法让子列表(虽然我使用的是 ItemsControl,所以我不必担心滚动)演示者引用它正在定义的 DataTemplateSelector?
如:
<ListView ItemTemplateSelector={StaticResource MyDataTemplateSelector}.../>
<selectors:MyDataTemplateSelector x:Key="MyDataTemplateSelector">
<selectors:MyDataTemplateSelector.ListTemplate>
<DataTemplate>
<StackPanel>
<!-- Referring to the selector it is being defined in -->
<ItemsControl ItemTemplateSelector="{StaticResource MyDataTemplateSelector}"/>
</StackPanel>
</DataTemplate>
</selectors:MyDataTemplateSelector.ListTemplate>
</selectors:MyDataTemplateSelector>
它编译得很好,但似乎在加载时崩溃并在 Windows.UI.Xaml 中出现错误。我认为这是因为它是循环引用。是否可以通过TemplatedParent 绑定完成?我一直在尝试一些不同的配置,但它们似乎不起作用。
【问题讨论】:
-
看起来很糟糕。尝试创建一个不同名称的选择器副本以确认循环引用问题。
标签: c# xaml windows-runtime windows-store-apps winrt-xaml