ItemsControl Prism v2.2区域没有绑定集合?

时间:2010-11-04 17:00:31

标签: mvvm prism prism-2

有没有办法对添加到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进行排序?有没有办法强制模块按特定顺序加载?我目前正在使用模块目录。

由于

安迪

1 个答案:

答案 0 :(得分:0)

所以我找到了这个问题的答案......至少我在Prism v4中找到了答案。

将ViewSortHint类属性添加到后面的View代码中。 Prism将找到此属性,并根据您在ViewSortHint参数中输入的字符串对视图进行排序。

[ViewSortHint("01")]
public partial class SortedButton : UserControl
{
    public SortedButton()
    {
        InitializeComponent();
    }
}

希望这有助于某人...

安迪