Ejemplo n.º 1
0
        public T Get <T>(string key, bool inherited, T defaultValue)
        {
            if (key is null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            if (container.TryGet <T>(key, out var containerField))
            {
                return(containerField);
            }

            if (computed == null)
            {
                computed = Element.Document !.Styles.Compute(Element);
            }

            if (computed.TryGet <T>(key, out var computedField))
            {
                return(computedField);
            }
            else if (inherited && Element.Parent != null)
            {
                return(Element.Parent.Style.Get(key, inherited, defaultValue));
            }
            else
            {
                return(defaultValue);
            }
        }