internal string GetXml()
        {
            var sb = new StringBuilder($"<binding template=\"{TemplateType}\"");

            if (!string.IsNullOrEmpty(DisplayName))
            {
                var displayName = $" displayName=\"{DisplayName}\"";
                sb.Append(displayName);
            }

            if (Branding.HasValue)
            {
                var branding = $" branding=\"{Branding.Value}\"";
                sb.Append(branding);
            }

            if (TextStacking.HasValue)
            {
                var textStacking = $" hint-textStacking=\"{TextStacking.Value}\"";
                sb.Append(textStacking);
            }

            if (OverlayOpacity.HasValue)
            {
                var overlay = $" hint-overlay=\"{OverlayOpacity.Value}\"";
                sb.Append(overlay);
            }

            sb.Append(">");

            if (!string.IsNullOrEmpty(BackgroundImage?.Source))
            {
                sb.Append(BackgroundImage.GetXml());
            }

            foreach (var item in _items)
            {
                sb.Append(item.GetXml());
            }

            sb.Append("</binding>");
            return(sb.ToString());
        }