【发布时间】:2011-04-25 17:58:02
【问题描述】:
我是 Silverlight 4 的新手,由于我对所涉及的术语不是很熟悉,因此很难在谷歌上搜索它。有人能指出我正确的方向吗?
我有一个要在 ItemsControl 列表中表示的可观察集合。集合的类型是一个类——为简单起见——我们称之为PersonInfo。每个 PersonInfo 都有一个字符串属性 Name 和一个可观察的集合 PhoneNumbers。当我告诉 ItemsControl 的 DataTemplate 使用“UserControl1”来可视化数据时,一切正常 - 绑定工作。
我的问题是——对于这个理论示例——我想将用于显示 PersonInfo 的控件基于 Name 属性中的某些值。所以我想对任何名为“Joe”的条目使用 UserControl1,而对所有其他条目使用 UserControl2。我找到了 IValueConverter 的东西,但这似乎无助于选择用于可视化数据的控件类型。
旁注: UserControl1 和 UserControl2 以类似的方式显示数据,但在它们复杂的网格布局中存在一些差异,这迫使我创建了 2 个单独的用户控件。如果有人知道我如何将多个布局构建到 UserControl1 的 xaml 中,然后在运行时通过属性绑定在它们之间切换,那可能会让我完全回避这个问题......
谁能推荐一个解决这个问题任一方面的通用策略?
提前致谢!
【问题讨论】:
标签: silverlight data-binding user-controls