diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs
index f60768980d..a94609122a 100644
--- a/src/Avalonia.Controls/Window.cs
+++ b/src/Avalonia.Controls/Window.cs
@@ -82,7 +82,10 @@ namespace Avalonia.Controls
/// Defines the proeprty.
///
public static readonly DirectProperty WindowStartupLocationProperty =
- AvaloniaProperty.RegisterDirect(nameof(WindowStartupLocation), o => o.WindowStartupLocation);
+ AvaloniaProperty.RegisterDirect(
+ nameof(WindowStartupLocation),
+ o => o.WindowStartupLocation,
+ (o, v) => o.WindowStartupLocation = v);
private readonly NameScope _nameScope = new NameScope();
private object _dialogResult;
diff --git a/src/Avalonia.Controls/WindowBase.cs b/src/Avalonia.Controls/WindowBase.cs
index dd1e0ae842..73d6d8c7cc 100644
--- a/src/Avalonia.Controls/WindowBase.cs
+++ b/src/Avalonia.Controls/WindowBase.cs
@@ -33,7 +33,10 @@ namespace Avalonia.Controls
/// Defines the property.
///
public static readonly DirectProperty OwnerProperty =
- AvaloniaProperty.RegisterDirect(nameof(Owner), o => o.Owner);
+ AvaloniaProperty.RegisterDirect(
+ nameof(Owner),
+ o => o.Owner,
+ (o, v) => o.Owner = v);
private bool _hasExecutedInitialLayoutPass;
private bool _isActive;