Prism RegionManager Обновление просмотров после сортировки - PullRequest
0 голосов
/ 16 октября 2019

У меня есть регион с несколькими экземплярами одного и того же представления со своими собственными свойствами. Регион представляет собой VirtualizingStackPanel, использующий пользовательский адаптер региона. Это работает для добавления и удаления. Однако мне нужно, чтобы регион «обновлялся» после сортировки представлений через SortComparison региона.

Представления успешно отсортированы внутри RegionManager, однако регион не обновляется, чтобы отразить новый порядок представлений. Region.Views.CollectionChanged запускается, но в отличие от Add и Remove, Reset не передает коллекцию старых или новых представлений. Как обновить регион, чтобы отобразить новый порядок представлений в том виде, в котором они находятся в RegionManager.

protected override void Adapt(IRegion region, VirtualizingStackPanel regionTarget)
        {
            region.Views.CollectionChanged += (s, e) =>
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    foreach (FrameworkElement element in e.NewItems)
                    {
                        regionTarget.Children.Add(element);
                    }
                }
                else if (e.Action == NotifyCollectionChangedAction.Remove)
                {
                    foreach (FrameworkElement CurrentElement in e.OldItems)
                    {
                        regionTarget.Children.Remove(CurrentElement);
                    }                       
                }

                else if (e.Action == NotifyCollectionChangedAction.Reset)
                {

                }
            };
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...