Skip to content

Commit

Permalink
test: Ensure AddBehavior is called when AssociatedObject is loaded
Browse files Browse the repository at this point in the history
  • Loading branch information
Stéphane ANDRE (E104915) committed Oct 10, 2024
1 parent 7fb6c4a commit 7b69e6c
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions src/MyNet.Wpf/Behaviors/ListViewLayoutBehavior.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
using Microsoft.Xaml.Behaviors;
using MyNet.UI.Layout;
using MyNet.Utilities;
using MyNet.Wpf.Extensions;
using MyNet.Wpf.Parameters;

namespace MyNet.Wpf.Behaviors
Expand Down Expand Up @@ -113,7 +112,14 @@ protected override void OnAttached()
{
base.OnAttached();

AssociatedObject.OnLoading<ListView>(_ => AddBehavior());
if (AssociatedObject.IsLoaded)
{
AddBehavior();
}
else
{
AssociatedObject.Loaded += AssociatedObject_Loaded;
}
}

protected override void OnDetaching()
Expand All @@ -123,6 +129,19 @@ protected override void OnDetaching()
RemoveBehavior();
}

private void AssociatedObject_Loaded(object sender, EventArgs e)
{
if (AssociatedObject.IsLoaded)
{
AssociatedObject.Loaded -= AssociatedObject_Loaded;

if (AssociatedObject.IsLoaded)
AddBehavior();
else
AssociatedObject.Loaded += AssociatedObject_Loaded;
}
}

private void AddBehavior()
{
if (AssociatedObject.View is GridView gridView)
Expand All @@ -138,6 +157,7 @@ void resizeAndEnableSize()

private void RemoveBehavior()
{
AssociatedObject.Loaded -= AssociatedObject_Loaded;
AssociatedObject.SizeChanged -= OnSizeChanged;

if (ColumnLayouts is not null)
Expand Down

0 comments on commit 7b69e6c

Please sign in to comment.