blob: 442a9c22dd6a2de0181b1090b5e2fab557e3f588 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/*************************************************************************************
Extended WPF Toolkit
Copyright (C) 2007-2013 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public
License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license
For more features, controls, and fast professional support,
pick up the Plus Edition at http://xceed.com/wpf_toolkit
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
***********************************************************************************/
using System;
using System.Xml.Serialization;
namespace Xceed.Wpf.AvalonDock.Layout
{
[Serializable]
public abstract class LayoutGroupBase : LayoutElement
{
#region Internal Methods
protected virtual void OnChildrenCollectionChanged()
{
if( ChildrenCollectionChanged != null )
ChildrenCollectionChanged( this, EventArgs.Empty );
}
protected void NotifyChildrenTreeChanged( ChildrenTreeChange change )
{
OnChildrenTreeChanged( change );
var parentGroup = Parent as LayoutGroupBase;
if( parentGroup != null )
parentGroup.NotifyChildrenTreeChanged( ChildrenTreeChange.TreeChanged );
}
protected virtual void OnChildrenTreeChanged( ChildrenTreeChange change )
{
if( ChildrenTreeChanged != null )
ChildrenTreeChanged( this, new ChildrenTreeChangedEventArgs( change ) );
}
#endregion
#region Events
[field: NonSerialized]
[field: XmlIgnore]
public event EventHandler ChildrenCollectionChanged;
[field: NonSerialized]
[field: XmlIgnore]
public event EventHandler<ChildrenTreeChangedEventArgs> ChildrenTreeChanged;
#endregion
}
}
|