Browse Source
Co-authored-by: Jumar Macato <16554748+jmacato@users.noreply.github.com>release/11.3.0-beta1
committed by
GitHub
4 changed files with 66 additions and 5 deletions
@ -1 +1 @@ |
|||
Subproject commit ab84721302d6ed2b8b65315f3c54217693640348 |
|||
Subproject commit cbfec32876a79e855bd49da034214bbf2bf35b13 |
|||
@ -0,0 +1,62 @@ |
|||
#nullable enable |
|||
|
|||
using Avalonia.Controls; |
|||
using Avalonia.Data; |
|||
using Avalonia.UnitTests; |
|||
using Xunit; |
|||
|
|||
namespace Avalonia.Markup.Xaml.UnitTests.Xaml; |
|||
|
|||
public class AssignBindingTests : XamlTestBase |
|||
{ |
|||
[Fact] |
|||
public void AssignBinding_Works_With_Clr_Property() |
|||
{ |
|||
using var app = UnitTestApplication.Start(TestServices.StyledWindow); |
|||
|
|||
var control = (AssignBindingTestControl)AvaloniaRuntimeXamlLoader.Load( |
|||
"""
|
|||
<local:AssignBindingTestControl |
|||
xmlns='https://github.com/avaloniaui'
|
|||
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
|
|||
xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests' |
|||
ClrBinding='{Binding SomePath}' /> |
|||
""");
|
|||
|
|||
Assert.NotNull(control.ClrBinding); |
|||
} |
|||
|
|||
[Fact] |
|||
public void AssignBinding_Works_With_AttachedProperty() |
|||
{ |
|||
using var app = UnitTestApplication.Start(TestServices.StyledWindow); |
|||
|
|||
var control = (Control)AvaloniaRuntimeXamlLoader.Load( |
|||
"""
|
|||
<Control |
|||
xmlns='https://github.com/avaloniaui'
|
|||
xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
|
|||
xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests' |
|||
local:AssignBindingTestControl.AttachedBinding='{Binding SomePath}' /> |
|||
""");
|
|||
|
|||
var binding = AssignBindingTestControl.GetAttachedBinding(control); |
|||
Assert.NotNull(binding); |
|||
} |
|||
} |
|||
|
|||
public sealed class AssignBindingTestControl : Control |
|||
{ |
|||
[AssignBinding] |
|||
public IBinding? ClrBinding { get; set; } |
|||
|
|||
public static readonly AttachedProperty<IBinding?> AttachedBindingProperty = |
|||
AvaloniaProperty.RegisterAttached<AssignBindingTestControl, Control, IBinding?>("AttachedBinding"); |
|||
|
|||
[AssignBinding] |
|||
public static IBinding? GetAttachedBinding(Control obj) |
|||
=> obj.GetValue(AttachedBindingProperty); |
|||
|
|||
public static void SetAttachedBinding(Control obj, IBinding? value) |
|||
=> obj.SetValue(AttachedBindingProperty, value); |
|||
} |
|||
Loading…
Reference in new issue