ItemsChangedEventArgs.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Controls / Primitives / ItemsChangedEventArgs.cs / 1 / ItemsChangedEventArgs.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// Description: Delegate and args for the ItemsChanged event. 
// 
// Specs:       http://avalon/connecteddata/M5%20General%20Docs/Data%20Styling.mht
// 
//---------------------------------------------------------------------------

using System;
using System.Collections.Specialized; 
using System.ComponentModel;
 
 
namespace System.Windows.Controls.Primitives
{ 
    /// 
    /// The ItemsChanged event is raised by an ItemContainerGenerator to inform
    /// layouts that the items collection has changed.
    ///  
    public class ItemsChangedEventArgs : EventArgs
    { 
        //----------------------------------------------------- 
        //
        //  Constructors 
        //
        //-----------------------------------------------------

        internal ItemsChangedEventArgs(NotifyCollectionChangedAction action, 
                                        GeneratorPosition position,
                                        GeneratorPosition oldPosition, 
                                        int itemCount, 
                                        int itemUICount)
        { 
            _action = action;
            _position = position;
            _oldPosition = oldPosition;
            _itemCount = itemCount; 
            _itemUICount = itemUICount;
        } 
 
        internal ItemsChangedEventArgs(NotifyCollectionChangedAction action,
                                        GeneratorPosition position, 
                                        int itemCount,
                                        int itemUICount) : this(action, position, new GeneratorPosition(-1, 0), itemCount, itemUICount)

        { 
        }
 
        //------------------------------------------------------ 
        //
        //  Public Properties 
        //
        //-----------------------------------------------------

        ///  What happened  
        public NotifyCollectionChangedAction Action { get { return _action; } }
 
        ///  Where it happened  
        public GeneratorPosition Position       { get { return _position; } }
 
        ///  Where it happened 
        public GeneratorPosition OldPosition    { get { return _oldPosition; } }

        ///  How many items were involved  
        public int ItemCount                    { get { return _itemCount; } }
 
        ///  How many UI elements were involved  
        public int ItemUICount                  { get { return _itemUICount; } }
 

        //------------------------------------------------------
        //
        //  Private Fields 
        //
        //------------------------------------------------------ 
 
        NotifyCollectionChangedAction  _action;
        GeneratorPosition       _position; 
        GeneratorPosition       _oldPosition;
        int                     _itemCount;
        int                     _itemUICount;
    } 

    ///  
    ///     The delegate to use for handlers that receive ItemsChangedEventArgs. 
    /// 
    public delegate void ItemsChangedEventHandler(object sender, ItemsChangedEventArgs e); 

}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// Description: Delegate and args for the ItemsChanged event. 
// 
// Specs:       http://avalon/connecteddata/M5%20General%20Docs/Data%20Styling.mht
// 
//---------------------------------------------------------------------------

using System;
using System.Collections.Specialized; 
using System.ComponentModel;
 
 
namespace System.Windows.Controls.Primitives
{ 
    /// 
    /// The ItemsChanged event is raised by an ItemContainerGenerator to inform
    /// layouts that the items collection has changed.
    ///  
    public class ItemsChangedEventArgs : EventArgs
    { 
        //----------------------------------------------------- 
        //
        //  Constructors 
        //
        //-----------------------------------------------------

        internal ItemsChangedEventArgs(NotifyCollectionChangedAction action, 
                                        GeneratorPosition position,
                                        GeneratorPosition oldPosition, 
                                        int itemCount, 
                                        int itemUICount)
        { 
            _action = action;
            _position = position;
            _oldPosition = oldPosition;
            _itemCount = itemCount; 
            _itemUICount = itemUICount;
        } 
 
        internal ItemsChangedEventArgs(NotifyCollectionChangedAction action,
                                        GeneratorPosition position, 
                                        int itemCount,
                                        int itemUICount) : this(action, position, new GeneratorPosition(-1, 0), itemCount, itemUICount)

        { 
        }
 
        //------------------------------------------------------ 
        //
        //  Public Properties 
        //
        //-----------------------------------------------------

        ///  What happened  
        public NotifyCollectionChangedAction Action { get { return _action; } }
 
        ///  Where it happened  
        public GeneratorPosition Position       { get { return _position; } }
 
        ///  Where it happened 
        public GeneratorPosition OldPosition    { get { return _oldPosition; } }

        ///  How many items were involved  
        public int ItemCount                    { get { return _itemCount; } }
 
        ///  How many UI elements were involved  
        public int ItemUICount                  { get { return _itemUICount; } }
 

        //------------------------------------------------------
        //
        //  Private Fields 
        //
        //------------------------------------------------------ 
 
        NotifyCollectionChangedAction  _action;
        GeneratorPosition       _position; 
        GeneratorPosition       _oldPosition;
        int                     _itemCount;
        int                     _itemUICount;
    } 

    ///  
    ///     The delegate to use for handlers that receive ItemsChangedEventArgs. 
    /// 
    public delegate void ItemsChangedEventHandler(object sender, ItemsChangedEventArgs e); 

}


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK