diff --git a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs index 9a7f4b62e3..f62c99ec4a 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs @@ -59,7 +59,7 @@ namespace Avalonia.Win32 case WindowsMessage.WM_NCCALCSIZE: { - if (ToInt32(wParam) == 1 && !HasFullDecorations || _isClientAreaExtended) + if (ToInt32(wParam) == 1 && _windowProperties.Decorations == SystemDecorations.None || _isClientAreaExtended) { return IntPtr.Zero; } diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index 044c2cad67..154b20ef84 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -1340,14 +1340,12 @@ namespace Avalonia.Win32 if (!_isFullScreenActive) { - var margin = newProperties.Decorations == SystemDecorations.BorderOnly ? 1 : 0; - var margins = new MARGINS { - cyBottomHeight = margin, - cxRightWidth = margin, - cxLeftWidth = margin, - cyTopHeight = margin + cyBottomHeight = 0, + cxRightWidth = 0, + cxLeftWidth = 0, + cyTopHeight = 0 }; DwmExtendFrameIntoClientArea(_hwnd, ref margins); diff --git a/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs index 7ed19eb84c..955df90ddd 100644 --- a/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs +++ b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs @@ -38,6 +38,7 @@ internal class XamlXNameResolver : INameResolver, IXamlAstVisitor { if (child is XamlAstXamlPropertyValueNode propertyValueNode && propertyValueNode.Property is XamlAstNamePropertyReference namedProperty && + !IsAttachedProperty(namedProperty) && namedProperty.Name == "Name" && propertyValueNode.Values.Count > 0 && propertyValueNode.Values[0] is XamlAstTextNode text) @@ -89,4 +90,9 @@ internal class XamlXNameResolver : INameResolver, IXamlAstVisitor _ => _defaultFieldModifier }; } + + private static bool IsAttachedProperty(XamlAstNamePropertyReference namedProperty) + { + return !namedProperty.DeclaringType.Equals(namedProperty.TargetType); + } } diff --git a/tests/Avalonia.Generators.Tests/Views/NamedControl.xml b/tests/Avalonia.Generators.Tests/Views/NamedControl.xml index ba1efb247f..0a3c3d3111 100644 --- a/tests/Avalonia.Generators.Tests/Views/NamedControl.xml +++ b/tests/Avalonia.Generators.Tests/Views/NamedControl.xml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Sample.App.NamedControl"> - \ No newline at end of file + diff --git a/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml b/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml index 7eab86411c..3dc6df2c7d 100644 --- a/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml +++ b/tests/Avalonia.Generators.Tests/Views/xNamedControl.xml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Sample.App.xNamedControl"> - \ No newline at end of file +