有没有办法对添加到ItemsControl区域的视图进行排序?添加的视图在容器中注册,并添加到每个唯一模块的区域中。
一些伪代码......
外壳:
<Window>
<ItemsControl Prism:RegionManager.Region="ItemsRegion"/>
</Window>
模块:这是模块中的初始化代码。
protected override void RegisterViewsAndServices()
{
CommonContainerLifetimeManager.Register<IView, ItemView1>();
Container.RegisterType<IViewModel, ItemViewModel1>("ItemViewModel1");
}
public override void AdditionalInitialization()
{
var itemView1 = Container.Resolve<ItemView1>();
RegionManager.Regions["ItemsRegion"].Add(itemView1);
}
使用这种方法,它按照模块加载的顺序显示shell的itemscontrol中添加的视图。根据登录用户的角色加载不同的模块。有没有办法,无需在中间添加集合,例如对视图的viewmodel的属性上的itemscontrol.items进行排序?有没有办法强制模块按特定顺序加载?我目前正在使用模块目录。
由于
安迪
答案 0 :(得分:0)
所以我找到了这个问题的答案......至少我在Prism v4中找到了答案。
将ViewSortHint类属性添加到后面的View代码中。 Prism将找到此属性,并根据您在ViewSortHint参数中输入的字符串对视图进行排序。
[ViewSortHint("01")]
public partial class SortedButton : UserControl
{
public SortedButton()
{
InitializeComponent();
}
}
希望这有助于某人...
安迪