我想DataTemplate
通过反射(或其他一些允许添加DataTemplate
s (甚至到新的 XAML 文件)而无需调整代码来发现它们的方法)发现程序集中包含的所有 s (可能在几个 XAML 文件中定义)。
我试过这样的事情:
var allTypes = Assembly.GetEntryAssembly().GetTypes();
var allDataTemplates = allTypes.Where(t => typeof(System.Windows.DataTemplate).IsAssignableFrom(t)).ToArray();
但这并没有产生任何结果。我想这是因为DataTemplate
s 没有存储为不同的类型。
我不想要的是DataTemplate
手动添加每个资源字典中的所有 s 。