Просмотр исходного кода

Merge pull request #4891 from bmello4688/add-xmlnsprefix

add XmlnsPrefix which is in WPF
Jumar Macato 5 лет назад
Родитель
Сommit
d72da5e09a
1 измененных файлов с 39 добавлено и 0 удалено
  1. 39 0
      src/Avalonia.Base/Metadata/XmlnsPrefixAttribute.cs

+ 39 - 0
src/Avalonia.Base/Metadata/XmlnsPrefixAttribute.cs

@@ -0,0 +1,39 @@
+using System;
+
+namespace Avalonia.Metadata
+{
+    /// <summary>
+    /// Use to predefine the prefix associated to an xml namespace in a xaml file
+    /// </summary>
+    /// <remarks>
+    /// example:
+    /// [assembly: XmlnsPrefix("https://github.com/avaloniaui", "av")]
+    /// xaml:
+    /// xmlns:av="https://github.com/avaloniaui"
+    /// </remarks>
+    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
+    public sealed class XmlnsPrefixAttribute : Attribute
+    {
+        /// <summary>
+        /// Constructor
+        /// </summary>
+        /// <param name="xmlNamespace">XML namespce</param>
+        /// <param name="prefix">recommended prefix</param>
+        public XmlnsPrefixAttribute(string xmlNamespace, string prefix)
+        {
+            XmlNamespace = xmlNamespace ?? throw new ArgumentNullException(nameof(xmlNamespace));
+
+            Prefix = prefix ?? throw new ArgumentNullException(nameof(prefix));
+        }
+
+        /// <summary>
+        /// XML Namespace
+        /// </summary>
+        public string XmlNamespace { get; }
+
+        /// <summary>
+        /// New Xml Namespace
+        /// </summary>
+        public string Prefix { get; }
+    }
+}