Ejemplo n.º 1
0
        public void ApplyStyles(IStyleable target)
        {
            _ = target ?? throw new ArgumentNullException(nameof(target));

            // Apply the control theme.
            target.GetEffectiveTheme()?.TryAttach(target, target);

            // If the control has a themed templated parent then apply the styles from the
            // templated parent theme.
            if (target.TemplatedParent is IStyleable styleableParent)
            {
                styleableParent.GetEffectiveTheme()?.TryAttach(target, styleableParent);
            }

            // Apply styles from the rest of the tree.
            if (target is IStyleHost styleHost)
            {
                ApplyStyles(target, styleHost);
            }
        }