private void ItemsControl_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
     foreach (var book in e.Value as ObservableCollection <BookViewModel> )
     {
         book.Cleanup();
     }
 }
 /// <summary>Raises the <see cref="E:System.Windows.Controls.VirtualizingStackPanel.CleanUpVirtualizedItem" /> event for rows that have scrolled out of view. </summary>
 /// <param name="e">The event data.</param>
 // Token: 0x06005D57 RID: 23895 RVA: 0x001A45ED File Offset: 0x001A27ED
 protected override void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e)
 {
     base.OnCleanUpVirtualizedItem(e);
     if (e.UIElement != null && Validation.GetHasError(e.UIElement))
     {
         e.Cancel = true;
     }
 }
        private bool NotifyCleanupItem(UIElement child, ItemsControl itemsControl)
        {
            CleanUpVirtualizedItemEventArgs e = new CleanUpVirtualizedItemEventArgs(child, itemsControl.ItemContainerGenerator.ItemFromContainer(child));

            e.OriginalSource = this;
            OnCleanUpVirtualizedItem(e);

            return(!e.Cancel);
        }
Esempio n. 4
0
 private void CleanUpVirtualizedItemHandler(object sender, CleanUpVirtualizedItemEventArgs e)
 {
     //System.Diagnostics.Debug.WriteLine(string.Format("UnLoadingRow index={0}", (e.UIElement as DataGridRow).GetIndex()));
     if (updatedWindowLock == false)
     {
         int i = (e.UIElement as DataGridRow).GetIndex();
         updatedWindow.Remove(i);
     }
 }
        /// <summary>
        /// Called when an item that is hosted by the <see cref="VirtualizingStackPanel"/>
        /// is re-virtualized.
        /// </summary>
        /// <param name="e">
        /// Data about the event.
        /// </param>
        protected virtual void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e)
        {
            CleanUpVirtualizedItemEventHandler handler = CleanUpVirtualizedItemEvent;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Esempio n. 6
0
        public void VirtualizingStackPanel_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
        {
            // Get a reference to the WriteableBitmap before nullifying the property to release the reference
            Thumbnail       thumbnail      = (Thumbnail)e.Value;
            WriteableBitmap thumbnailImage = (WriteableBitmap)thumbnail.Image;

            thumbnail.Image = null;
            // Asynchronously add the WriteableBitmap back to the cache
            Dispatcher.BeginInvoke((Action)(() =>
            {
                _writeableBitmapCache.Enqueue(thumbnailImage);
            }), System.Windows.Threading.DispatcherPriority.Loaded);
        }
        //private void ReportButton_Click(object sender, System.Windows.RoutedEventArgs e)
        //{
        //    DesignValidationContext cxt = this.DataContext as DesignValidationContext;
        //    if (cxt == null)
        //    {
        //        Debug.Assert(false);
        //        return;
        //    }
        //    AudDocument audDoc = AudApplication.DocumentManager.Active;
        //    ValidationItemReport report = new ValidationItemReport(audDoc);
        //    foreach (ValidationGroupContext grp in cxt.ValidationGroups)
        //        report.AddValidationItems(
        //            from ValidationItemContextBase vicb in grp.ValidationResultItems
        //            select vicb.ValidationItem, true);
        //    report.Report(Properties.Resources.DesignValidation);
        //}


        //private void ResolveButton_Click(object sender, System.Windows.RoutedEventArgs e)
        //{
        //    DesignValidationContext cxt = this.DataContext as DesignValidationContext;
        //    if (cxt != null)
        //        cxt.ResolveAll();
        //}


        private void validationGroupsControl_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
        {
            if (e == null)
            {
                return;
            }

            ValidationGroupContext group = e.Value as ValidationGroupContext;

            if (group == null)
            {
                return;
            }

            group.DisconnectByVirtualizationCleanup();
        }
Esempio n. 8
0
        protected override void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e)
        {
            if (e.UIElement is ListBoxItem item && item.IsSelected)
            {
                e.Cancel  = true;
                e.Handled = true;
                return;
            }

            if (e.UIElement is TreeViewItem item2 && item2.IsSelected)
            {
                e.Cancel  = true;
                e.Handled = true;
                return;
            }

            base.OnCleanUpVirtualizedItem(e);
        }
Esempio n. 9
0
    protected override void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e)
    {
        var item = e.UIElement as ListBoxItem;

        if (item != null && item.IsSelected)
        {
            e.Cancel  = true;
            e.Handled = true;
            return;
        }
        var item2 = e.UIElement as TreeViewItem;

        if (item2 != null && item2.IsSelected)
        {
            e.Cancel  = true;
            e.Handled = true;
            return;
        }
        base.OnCleanUpVirtualizedItem(e);
    }
        private static void OnCleanUpEvent(object sender, CleanUpVirtualizedItemEventArgs e)
        {
            var control = sender as ListBox;

            if (control == null)
            {
                return;
            }

            ICommand cleanupCommand = CleanUpVirtualizedItemsBehavior.GetCleanUpItemCommand(control);

            // Check whether this attached behaviour is bound to a RoutedCommand
            if (cleanupCommand is RoutedCommand)
            {
                // Execute the routed command
                (cleanupCommand as RoutedCommand).Execute(e.Value, control);
            }
            else
            {
                // Execute the Command as bound delegate
                cleanupCommand.Execute(e.Value);
            }
        }
Esempio n. 11
0
 void ICleanUpVirtualizedItemEventArgsResolver.Cancel(CleanUpVirtualizedItemEventArgs e, bool cancel) => e.Cancel = cancel;
Esempio n. 12
0
 UIElement ICleanUpVirtualizedItemEventArgsResolver.UIElement(CleanUpVirtualizedItemEventArgs e) => e.UIElement;
Esempio n. 13
0
 bool ICleanUpVirtualizedItemEventArgsResolver.Cancel(CleanUpVirtualizedItemEventArgs e) => e.Cancel;
Esempio n. 14
0
 /// <summary>
 /// Gets a reference to the object that raised the event.
 /// This is often a template part of a control rather than an element that was declared in your app UI.
 /// </summary>
 /// <param name="e">The requested <see cref="CleanUpVirtualizedItemEventArgs"/>.</param>
 /// <returns>The object that raised the event.</returns>
 public static object OriginalSource(this CleanUpVirtualizedItemEventArgs e) => Resolver.OriginalSource(e);
Esempio n. 15
0
 object ICleanUpVirtualizedItemEventArgsResolver.Value(CleanUpVirtualizedItemEventArgs e) => e.Value;
Esempio n. 16
0
 private void CleanUpVirtualizedItemHandler(object sender, CleanUpVirtualizedItemEventArgs args)
 {
     args.Cancel = DataGridHelper.CanBeRecycled(args.UIElement);
 }
Esempio n. 17
0
 /// <summary>
 /// Sets a value that indicates whether this item should not be revirtualized.
 /// </summary>
 /// <param name="e">The requested <see cref="CleanUpVirtualizedItemEventArgs"/>.</param>
 /// <param name="cancel"><c>true</c> if you want to prevent revirtualization of this item; otherwise, <c>false</c>.</param>
 public static void Cancel(this CleanUpVirtualizedItemEventArgs e, bool cancel) => Resolver.Cancel(e, cancel);
Esempio n. 18
0
 /// <summary>
 /// Gets an object that represents the original data value.
 /// </summary>
 /// <param name="e">The requested <see cref="CleanUpVirtualizedItemEventArgs"/>.</param>
 /// <returns>The Object that represents the original data value.</returns>
 public static object Value(this CleanUpVirtualizedItemEventArgs e) => Resolver.Value(e);
Esempio n. 19
0
 /// <summary>
 /// Gets an instance of the visual element that represents the data value.
 /// </summary>
 /// <param name="e">The requested <see cref="CleanUpVirtualizedItemEventArgs"/>.</param>
 /// <returns>The UIElement that represents the data value.</returns>
 public static UIElement UIElement(this CleanUpVirtualizedItemEventArgs e) => Resolver.UIElement(e);
Esempio n. 20
0
 private void RowDefinition_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
 }
Esempio n. 21
0
 private void BrowserListBox_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
 }
 private void View_List_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
     (e.UIElement as FrameworkElement).Unloaded += ViewPage_Unloaded;
 }
Esempio n. 23
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// cleanupvirtualizeditemeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this CleanUpVirtualizedItemEventHandler cleanupvirtualizeditemeventhandler, Object sender, CleanUpVirtualizedItemEventArgs e, AsyncCallback callback)
        {
            if (cleanupvirtualizeditemeventhandler == null)
            {
                throw new ArgumentNullException("cleanupvirtualizeditemeventhandler");
            }

            return(cleanupvirtualizeditemeventhandler.BeginInvoke(sender, e, callback, null));
        }
Esempio n. 24
0
 private void Dg_win_regex_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
 }
Esempio n. 25
0
 object ICleanUpVirtualizedItemEventArgsResolver.OriginalSource(CleanUpVirtualizedItemEventArgs e) => e.OriginalSource;
Esempio n. 26
0
 /// <summary>
 /// Gets a value that indicates whether this item should not be revirtualized.
 /// </summary>
 /// <param name="e">The requested <see cref="CleanUpVirtualizedItemEventArgs"/>.</param>
 /// <returns><c>true</c> if you want to prevent revirtualization of this item; otherwise, <c>false</c>.</returns>
 public static bool Cancel(this CleanUpVirtualizedItemEventArgs e) => Resolver.Cancel(e);
Esempio n. 27
0
 private void VirtualizingStackPanel_OnCleanUpVirtualizedItemEvent(object sender, CleanUpVirtualizedItemEventArgs e)
 {
 }
Esempio n. 28
0
 protected override void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e)
 {
     e.UIElement.ClearValue(OffsetProperty);
     base.OnCleanUpVirtualizedItem(e);
 }
Esempio n. 29
0
 private void Differences_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e)
 {
 }
        // 虚拟化缓存中的某一项数据被移除时触发的事件
        // 对于 Recycling 模式来说,老的数据被移除后会有新的数据添加进来
        private void VirtualizingStackPanel_CleanUpVirtualizedItemEvent(object sender, CleanUpVirtualizedItemEventArgs e)
        {
            // 此次被移除虚拟化缓存的数据对象
            lblMsg.Text += "cleanUp: " + (e.Value as Employee).Name;
            lblMsg.Text += Environment.NewLine;

            // 此次被移除虚拟化缓存的 UIElement
            // UIElement element = e.UIElement;

            // 是否禁止此条虚拟化数据被移除
            // e.Cancel = false;
        }