标题是不言自明的。我一辈子都无法弄清楚如何从 DataTemplateSelector 中为特定对象加载默认模板。
我知道你会问。为什么你需要这样做?如果您将对象绑定到某个东西,WPF 将为您选择该模板!
好吧,简短的回答是:我需要确保返回的每个 DataTemplate 都是模板的新实例。我绑定此模板的控件正在重用它。我正在尝试使用 x:Shared="False" 但控件本身不会尝试再次获取资源,它只是重用它已经拥有的资源。但是,当我使用 DataTemplateSelector 时,每次请求新 UI 时都会调用 SelectTemplate 函数。因此,如果我可以确保此处返回的 DataTemplate 是一个新实例,那么一切都应该很好。
除了,只要我使用默认模板(例如,没有 x:Key="" 属性)。我不知道如何获得该资源。
谢谢。