Example #1
0
 Size IVirtualizingLayoutOverrides.ArrangeOverride(VirtualizingLayoutContext context, Size finalSize)
 {
     return(ArrangeOverride(context, finalSize));
 }
Example #2
0
 void IVirtualizingLayoutOverrides.UninitializeForContextCore(VirtualizingLayoutContext context)
 {
     UninitializeForContextCore(context);
 }
Example #3
0
 Size IVirtualizingLayoutOverrides.MeasureOverride(VirtualizingLayoutContext context, Size availableSize)
 {
     return(MeasureOverride(context, availableSize));
 }
Example #4
0
 protected virtual Size ArrangeOverride(VirtualizingLayoutContext context, Size finalSize)
 {
     // Do not throw. If the layout decides to arrange its
     // children during measure, then an ArrangeOverride is not required.
     return(finalSize);
 }
Example #5
0
 protected virtual void OnItemsChangedCore(VirtualizingLayoutContext context, object source, NotifyCollectionChangedEventArgs args)
 {
     InvalidateMeasure();
 }
Example #6
0
 protected internal abstract Size MeasureOverride(VirtualizingLayoutContext context, Size availableSize);
Example #7
0
 protected virtual Size MeasureOverride(VirtualizingLayoutContext context, Size availableSize)
 {
     throw new NotImplementedException();
 }
Example #8
0
 public VirtualLayoutContextAdapter(VirtualizingLayoutContext virtualizingContext)
 {
     m_virtualizingContext = new WeakReference <VirtualizingLayoutContext>(virtualizingContext);
 }
Example #9
0
 public ChildrenCollection(VirtualizingLayoutContext context)
 {
     m_context = context;
 }
 protected override Size ArrangeOverride(VirtualizingLayoutContext context, Size finalSize)
 {
     return(ArrangeLayoutFunc != null?ArrangeLayoutFunc(finalSize, context) : default(Size));
 }
 public void InitializeForContext(VirtualizingLayoutContext context, IFlowLayoutAlgorithmDelegates callbacks)
 {
     m_algorithmCallbacks = callbacks;
     m_context            = context;
     m_elementManager.SetContext(context);
 }
 protected override Size MeasureOverride(VirtualizingLayoutContext context, Size availableSize)
 {
     return(MeasureLayoutFunc != null?MeasureLayoutFunc(availableSize, context) : default(Size));
 }
Example #13
0
        internal void OnLineArranged(int startIndex, int countInLine, double lineSize, VirtualizingLayoutContext context)
        {
            // If we do not have any estimation information, use the line for estimation.
            // If we do have some estimation information, don't account for the last line which is quite likely
            // different from the rest of the lines and can throw off estimation.
            if (TotalLinesMeasured == 0 || startIndex + countInLine != context.ItemCount)
            {
                int  estimationBufferIndex = startIndex % m_lineSizeEstimationBuffer.Count;
                bool alreadyMeasured       = m_lineSizeEstimationBuffer[estimationBufferIndex] != 0;

                if (!alreadyMeasured)
                {
                    ++TotalLinesMeasured;
                }

                TotalLineSize -= m_lineSizeEstimationBuffer[estimationBufferIndex];
                TotalLineSize += lineSize;
                m_lineSizeEstimationBuffer[estimationBufferIndex] = lineSize;

                TotalItemsPerLine -= m_itemsPerLineEstimationBuffer[estimationBufferIndex];
                TotalItemsPerLine += countInLine;
                m_itemsPerLineEstimationBuffer[estimationBufferIndex] = countInLine;
            }
        }
Example #14
0
 public void SetContext(VirtualizingLayoutContext virtualContext)
 {
     m_context = virtualContext;
 }
Example #15
0
 void IVirtualizingLayoutOverrides.OnItemsChangedCore(VirtualizingLayoutContext context, object source, NotifyCollectionChangedEventArgs args)
 {
     OnItemsChangedCore(context, source, args);
 }
Example #16
0
 protected virtual void UninitializeForContextCore(VirtualizingLayoutContext context)
 {
 }
Example #17
0
 internal void UninitializeForContext(VirtualizingLayoutContext context)
 {
     FlowAlgorithm.UninitializeForContext(context);
 }
Example #18
0
 protected internal virtual void InitializeForContextCore(VirtualizingLayoutContext context)
 {
 }