Skip to content

Commit ba90c40

Browse files
authored
Merge pull request #414 from Noisrev/fix-issue402
When apply new template, add back collection change event handler
2 parents 24479e4 + 5f42e5c commit ba90c40

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

Diff for: source/Components/AvalonDock/Controls/LayoutAnchorSideControl.cs

+22-11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/************************************************************************
1+
/************************************************************************
22
AvalonDock
33
44
Copyright (C) 2007-2013 Xceed Software Inc.
@@ -46,11 +46,6 @@ static LayoutAnchorSideControl()
4646
internal LayoutAnchorSideControl(LayoutAnchorSide model)
4747
{
4848
_model = model ?? throw new ArgumentNullException(nameof(model));
49-
CreateChildrenViews();
50-
_model.Children.CollectionChanged += OnModelChildrenCollectionChanged;
51-
UpdateSide();
52-
53-
Unloaded += LayoutAnchorSideControl_Unloaded;
5449
}
5550

5651
#endregion Constructors
@@ -137,11 +132,27 @@ internal LayoutAnchorSideControl(LayoutAnchorSide model)
137132

138133
#region Private Methods
139134

140-
/// <summary>
141-
/// Executes when the element is removed from within an element tree of loaded elements.
142-
/// </summary>
143-
/// <param name="sender"></param>
144-
/// <param name="e"></param>
135+
public override void OnApplyTemplate()
136+
{
137+
base.OnApplyTemplate();
138+
139+
Loaded += LayoutAnchorSideControl_Loaded;
140+
}
141+
142+
protected override void OnInitialized(EventArgs e)
143+
{
144+
base.OnInitialized(e);
145+
CreateChildrenViews();
146+
UpdateSide();
147+
}
148+
149+
private void LayoutAnchorSideControl_Loaded(object sender, RoutedEventArgs e)
150+
{
151+
Loaded -= LayoutAnchorSideControl_Loaded;
152+
Unloaded += LayoutAnchorSideControl_Unloaded;
153+
_model.Children.CollectionChanged += OnModelChildrenCollectionChanged;
154+
}
155+
145156
private void LayoutAnchorSideControl_Unloaded(object sender, RoutedEventArgs e)
146157
{
147158
_model.Children.CollectionChanged -= OnModelChildrenCollectionChanged;

0 commit comments

Comments
 (0)