View Issue Details

IDProjectCategoryView StatusLast Update
0001385NoesisGUIC# SDKpublic2025-08-06 17:21
Reporterdarthmaule2 Assigned Tosfernandez  
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Product Version2.2.0b5 
Summary0001385: Difference from WPF - Some functions missing from VirtualizingPanel/Panel base classes
Description

These functions are missing from the VirtualizingPanel class:
protected void AddInternalChild(UIElement child)
protected void InsertInternalChild(Int32 index, UIElement child)
protected void RemoveInternalChildRange(Int32 index, Int32 range)
protected override void OnItemsChanged(object sender, ItemsChangedEventArgs e)

This property is missing from the Panel base class:
protected internal System.Windows.Controls.UIElementCollection InternalChildren { get; }

Panel's InternalChildren property is just the same as Children, so you can use that.

All the Add/Insert/Remove Child methods are just redirected to the children collection, so you can use Children.Add/Insert/Remove instead.

Recommended work-around for now from Sergio:
And you can subscribe to the ItemsChanged event on the ItemContainerGenerator of the corresponding ItemsControl, something like this:

public class VirtualizingTilePanel : Noesis.VirtualizingPanel, Noesis.IScrollInfo
{
public VirtualizingTilePanel()
{
Loaded += (s, e) =>
{
ItemsControl itemsControl = ItemsControl.GetItemsOwner(this);
itemsControl?.Generator?.ItemsChanged += OnItemsChanged;
}
}
private void OnItemsChanged(object sender, ItemsChangedEventArgs e)
{
}
}

PlatformAny

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-01-09 15:30 darthmaule2 New Issue
2019-01-24 11:07 sfernandez Assigned To => sfernandez
2019-01-24 11:07 sfernandez Status new => assigned