Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建由WPF中不同类型的对象(包括flash.swf对象)填充的网格_C#_Wpf_Visual Studio 2010_Flash_Grid - Fatal编程技术网

C# 创建由WPF中不同类型的对象(包括flash.swf对象)填充的网格

C# 创建由WPF中不同类型的对象(包括flash.swf对象)填充的网格,c#,wpf,visual-studio-2010,flash,grid,C#,Wpf,Visual Studio 2010,Flash,Grid,我试图在C#中创建一个WPF应用程序,它由一个包含8个单元格的网格组成,每个单元格用于向用户显示的每个对象。该网格是故事板的一部分,用户可以通过一个网格切换到下一个网格,该网格将由另一组8个对象填充。问题是该网格将由用户计算机上文件夹中的对象填充,并且无法知道将加载的对象的确切类型。相反,对象将是:图像、.swf视频、PDF或Word文档 我有两个问题: 1.在XAML和源代码中,如何在运行时处理网格中未知类型对象的绑定? 2.如何处理flash对象与此单元格的绑定 如果对象都是相同的类型(只是

我试图在C#中创建一个WPF应用程序,它由一个包含8个单元格的网格组成,每个单元格用于向用户显示的每个对象。该网格是故事板的一部分,用户可以通过一个网格切换到下一个网格,该网格将由另一组8个对象填充。问题是该网格将由用户计算机上文件夹中的对象填充,并且无法知道将加载的对象的确切类型。相反,对象将是:图像、.swf视频、PDF或Word文档

我有两个问题: 1.在XAML和源代码中,如何在运行时处理网格中未知类型对象的绑定? 2.如何处理flash对象与此单元格的绑定

如果对象都是相同的类型(只是图像),那就没那么糟糕了,但是因为在程序运行之前,不可能知道每个单元格可以包含什么,所以我不知道如何继续

我已经检查了几个建议在C#WPF应用程序中嵌入flash方法的站点,但只有在已知将加载flash对象时,才会这样做:

我还考虑过加载Object类的对象,以避免对对象类型进行硬编码,但显然这是不可能的,因为您将无法访问属性


任何帮助都将不胜感激

是否可能使用转换器?您可以将其视为一个工厂,并为您期望和能够满足的所有类型进行实现。然后,对于不需要的文件类型,您还可以使用默认的“不支持”视图。

您可以在正在处理的文件夹中获取文件名,并在加载时使用类型和文件路径作为属性创建ViewModels。然后可以将
ContentControl
添加到
网格的每个单元格中。将每个
ViewModel
绑定到
ContentControl
Content
,并使用
ContentTemplateSelector
显示不同的类型