Raise event when this XObject or any of its descendants are changing
using System; using System.Xml.Linq; class Program { static void Main(string[] args) { XElement root = new XElement("Root", "content"); root.Changing += new EventHandler<XObjectChangeEventArgs>((sender, cea) => { Console.WriteLine("Changing event raised"); XElement xSender = (XElement)sender; Console.WriteLine(" Sender: {0}", xSender.Name); Console.WriteLine(" ObjectChange: {0}", cea.ObjectChange); } ); root.Add(new XElement("Child", "child content")); } }