【问题标题】:Sort ItemsControl Prism v2.2 Region without a bound collection?Sort ItemsControl Prism v2.2 Region 没有绑定集合?
【发布时间】:2010-11-04 17:00:31
【问题描述】:

有没有办法对添加到 ItemsControl 区域的视图进行排序?正在添加的视图在容器中注册并添加到每个唯一模块中的区域。

一些伪代码...

壳牌:

<Window>  
   <ItemsControl Prism:RegionManager.Region="ItemsRegion"/>  
</Window>

Modules:这是模块中的初始化代码。

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 中显示添加的视图。根据登录用户的角色加载不同的模块。有没有一种方法,而不必在中间添加一个集合,例如对视图视图模型的属性上的 itemscontrol.items 进行排序?有没有办法强制按特定顺序加载模块?我目前正在使用模块目录。

谢谢

安迪

【问题讨论】:

    标签: mvvm prism prism-2


    【解决方案1】:

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

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

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

    希望这对某人有所帮助...

    安迪

    【讨论】:

      猜你喜欢
      • 2010-12-16
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      相关资源
      最近更新 更多