1

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

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

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

我已经检查了几个建议在 C# WPF 应用程序中嵌入 flash 的方法的站点,但只有当知道将加载 flash 对象时:http: //hintdesk.com/c-wpf-play-swf-in- wpf-应用程序/ .

我还考虑加载 Object 类的对象作为避免对对象类型进行硬编码的一种方式http://social.msdn.microsoft.com/Forums/en/wpf/thread/ca76fc35-950c-4fac-bb30 -534cb7ad1b5d,但显然这是不可能的,因为您将无法访问这些属性。

任何帮助,将不胜感激!

4

2 回答 2

0

您可以在正在处理的文件夹中获取文件名,并在加载时使用类型和文件路径作为属性创建 ViewModel。然后,您可以ContentControlGrid. 将每个绑定ViewModelContenttheContentControl并使用 aContentTemplateSelector来显示不同的类型。

于 2012-06-22T23:57:15.947 回答
0

可以用转换器吗?您可以将其视为工厂,并为您期望并可以满足的所有类型执行实现。然后,您还可以为您不期望的文件类型提供默认的“不支持”视图。

于 2012-06-22T21:22:04.563 回答