diff --git a/native/Avalonia.Native/src/OSX/SystemDialogs.mm b/native/Avalonia.Native/src/OSX/SystemDialogs.mm index 7049f77d20..567dd7f747 100644 --- a/native/Avalonia.Native/src/OSX/SystemDialogs.mm +++ b/native/Avalonia.Native/src/OSX/SystemDialogs.mm @@ -45,8 +45,7 @@ public: { auto url = [urls objectAtIndex:i]; - auto string = [url absoluteString]; - string = [string substringFromIndex:7]; + auto string = [url path]; strings[i] = (void*)[string UTF8String]; } @@ -137,8 +136,7 @@ public: { auto url = [urls objectAtIndex:i]; - auto string = [url absoluteString]; - string = [string substringFromIndex:7]; + auto string = [url path]; strings[i] = (void*)[string UTF8String]; } @@ -220,8 +218,7 @@ public: auto url = [panel URL]; - auto string = [url absoluteString]; - string = [string substringFromIndex:7]; + auto string = [url path]; strings[0] = (void*)[string UTF8String]; events->OnCompleted(1, &strings[0]); diff --git a/src/Avalonia.Controls/Control.cs b/src/Avalonia.Controls/Control.cs index a7ee027e70..ca5edae4a9 100644 --- a/src/Avalonia.Controls/Control.cs +++ b/src/Avalonia.Controls/Control.cs @@ -1,6 +1,7 @@ // Copyright (c) The Avalonia Project. All rights reserved. // Licensed under the MIT license. See licence.md file in the project root for full license information. +using System; using System.ComponentModel; using Avalonia.Controls.Primitives; using Avalonia.Controls.Templates; @@ -20,7 +21,7 @@ namespace Avalonia.Controls /// /// - A property to allow user-defined data to be attached to the control. /// - public class Control : InputElement, IControl, INamed, ISupportInitialize, IVisualBrushInitialize, IRequiresTemplateInSetter + public class Control : InputElement, IControl, INamed, ISupportInitialize, IVisualBrushInitialize, ISetterValue { /// /// Defines the property. @@ -90,6 +91,13 @@ namespace Avalonia.Controls /// bool IDataTemplateHost.IsDataTemplatesInitialized => _dataTemplates != null; + /// + void ISetterValue.Initialize(ISetter setter) + { + throw new InvalidOperationException( + "Cannot use a control as a Setter value. Wrap the control in a