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); }
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); } }
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(); }
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); }
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); } }
void ICleanUpVirtualizedItemEventArgsResolver.Cancel(CleanUpVirtualizedItemEventArgs e, bool cancel) => e.Cancel = cancel;
UIElement ICleanUpVirtualizedItemEventArgsResolver.UIElement(CleanUpVirtualizedItemEventArgs e) => e.UIElement;
bool ICleanUpVirtualizedItemEventArgsResolver.Cancel(CleanUpVirtualizedItemEventArgs e) => e.Cancel;
/// <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);
object ICleanUpVirtualizedItemEventArgsResolver.Value(CleanUpVirtualizedItemEventArgs e) => e.Value;
private void CleanUpVirtualizedItemHandler(object sender, CleanUpVirtualizedItemEventArgs args) { args.Cancel = DataGridHelper.CanBeRecycled(args.UIElement); }
/// <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);
/// <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);
/// <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);
private void RowDefinition_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e) { }
private void BrowserListBox_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e) { }
private void View_List_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e) { (e.UIElement as FrameworkElement).Unloaded += ViewPage_Unloaded; }
/// <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)); }
private void Dg_win_regex_CleanUpVirtualizedItem(object sender, CleanUpVirtualizedItemEventArgs e) { }
object ICleanUpVirtualizedItemEventArgsResolver.OriginalSource(CleanUpVirtualizedItemEventArgs e) => e.OriginalSource;
/// <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);
private void VirtualizingStackPanel_OnCleanUpVirtualizedItemEvent(object sender, CleanUpVirtualizedItemEventArgs e) { }
protected override void OnCleanUpVirtualizedItem(CleanUpVirtualizedItemEventArgs e) { e.UIElement.ClearValue(OffsetProperty); base.OnCleanUpVirtualizedItem(e); }
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; }