c# - Silverlight Prism : How to maintain views in a specific order inside a region

标签 c# silverlight silverlight-4.0 prism

我正在为 SL 创建一种“导航面板”(实际上是一个 ItemControl),并使用区域允许每个模块将他的链接添加到面板。

问题是模块加载不一致,因此面板中的链接顺序可能会根据模块加载顺序发生变化。

限制模块顺序是不可能的。

其他可行的选择是对绑定(bind)到 ItemControl 的区域的 Views Collection 进行排序,问题是 ViewCollection 非常有限,因此很难对其进行排序。

我是不是漏掉了一个选项,你有什么想法吗?

谢谢 爱丽儿

最佳答案

在 Prism4 中,您只需将 ViewSortHintAttribute 应用于您的 View :

[ViewSortHint("100")]
class FirstView : UserControl { }

[ViewSortHint("200")]
class SecondView : UserControl { }

区域上的默认排序比较器将选取此属性并对 View 进行相应排序。您可以将任何字符串放入属性中,但我倾向于使用中等大小的数字,这样我可以轻松地在现有 View 之间放置一个新 View 。

关于c# - Silverlight Prism : How to maintain views in a specific order inside a region,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2041765/

相关文章:

c# - Linq group 通过使用 Max 生成重复项

c# - 在另一个线程中调用函数是否安全?

c# - 除了互操作之外,还有哪些可用方法来创建 Word 文档并将数据导出到该 Word 文档?

silverlight - 使用调试运行项目需要很长时间才能加载

silverlight - 如何将分组标题从属性名称更改为更具描述性的名称

silverlight - 如何使用 Silverlight 开发图表

c# - 命名管道适合这种情况吗?

Silverlight 4 MVVM : Unable to Databind ICommand

Silverlight:使用 DataContextProxy 的替代方案?

silverlight - 是否可以从 Silverlight/C# 调用 matlab 函数?