【发布时间】:2010-09-23 20:55:19
【问题描述】:
我有点卡在 Silverlight 中 UI 设计的不同方法,以及可重用性方面。假设以下简单示例:
一个基类ORGANISM有一个NAME + AGE
子类 DOG 有一个 FURCOLOR
子类 HUMAN 有一个 JOB
现在我有一个包含 30 个有机体的列表,一些是狗,一些是人类。
我可以使用 listBox 来显示所有项目(类名)。
我想为 ORGANISM 创建一个“基本外观”(例如,顶部的名称)
如果数据对象是一只狗,我还想列出它的毛色。
如果是人类,我也想列出它的工作描述。
我已经尝试过 DataTemplates、UserControls 和其他东西,但我似乎被卡住了。 Silverlight 中没有 TargetType(或者我遗漏了什么),这个简单的示例似乎非常复杂。样式仅适用于视觉元素,不确定它们是否可以相互依赖。但也感觉不对劲……
我的真实例子更复杂,但你明白了。基类有一些我想要呈现的属性,而子类有更多我想要“添加”而不复制 XAMl 的属性。
任何正确方向的提示或提示?
克里斯
[编辑]澄清一下,我遇到的问题不仅限于列表。 另一种情况是细节视图,显示狗或人。 大多数细节视图是相同的,因此我可以使用带有红色边框的 UserControl 来呈现具有绑定到 Name 的 TextBlock 的 Organism。现在在这个文本块下方(但仍在 UserControl 内)应该有一个作业或一个毛色块。
ORGANISM 的用户控件
=================花式边框====================
姓名:霍斯特
=================花式边框====================
基于人类的用户控制
=================花式边框====================
姓名:霍斯特
工作:软件设计师
=================花式边框====================
基于狗的用户控件
=================花式边框====================
姓名:霍斯特
毛皮颜色:棕色
=================花式边框====================
在“父控件”中使用上述所有内容并根据类型使用可见性设置只是感觉不对,想象一下 Human 的 100 个属性,然后所有这些都将被隐藏但存在于狗控件中。
【问题讨论】:
标签: silverlight