我正在为 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/