示例#1
0
        protected override void ClearContainerForItemOverride(DependencyObject element, object item)
        {
            if (ContainerCustomisations != null && ContainerCustomisations.ClearingContainerForItemOverride != null)
            {
                ContainerCustomisations.ClearingContainerForItemOverride(element, item);
            }

            base.ClearContainerForItemOverride(element, item);

            Dispatcher.BeginInvoke(new Action(() =>
            {
                var dragablzItems = DragablzItems().ToList();
                if (ItemsOrganiser == null)
                {
                    return;
                }
                ItemsOrganiser.Organise(this, new Size(ItemsPresenterWidth, ItemsPresenterHeight), dragablzItems);
                var measure          = ItemsOrganiser.Measure(this, new Size(ActualWidth, ActualHeight), dragablzItems);
                ItemsPresenterWidth  = measure.Width;
                ItemsPresenterHeight = measure.Height;
            }), DispatcherPriority.Input);
        }