diff --git a/src/Avalonia.Base/Metadata/XmlnsPrefixAttribute.cs b/src/Avalonia.Base/Metadata/XmlnsPrefixAttribute.cs
new file mode 100644
index 0000000000..ad017822e4
--- /dev/null
+++ b/src/Avalonia.Base/Metadata/XmlnsPrefixAttribute.cs
@@ -0,0 +1,39 @@
+using System;
+
+namespace Avalonia.Metadata
+{
+ ///
+ /// Use to predefine the prefix associated to an xml namespace in a xaml file
+ ///
+ ///
+ /// example:
+ /// [assembly: XmlnsPrefix("https://github.com/avaloniaui", "av")]
+ /// xaml:
+ /// xmlns:av="https://github.com/avaloniaui"
+ ///
+ [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+ public sealed class XmlnsPrefixAttribute : Attribute
+ {
+ ///
+ /// Constructor
+ ///
+ /// XML namespce
+ /// recommended prefix
+ public XmlnsPrefixAttribute(string xmlNamespace, string prefix)
+ {
+ XmlNamespace = xmlNamespace ?? throw new ArgumentNullException(nameof(xmlNamespace));
+
+ Prefix = prefix ?? throw new ArgumentNullException(nameof(prefix));
+ }
+
+ ///
+ /// XML Namespace
+ ///
+ public string XmlNamespace { get; }
+
+ ///
+ /// New Xml Namespace
+ ///
+ public string Prefix { get; }
+ }
+}