コード例 #1
0
        public void ParseMaterialSwitchCss()
        {
            var css   = GetFileContents("material-switch.css");
            var nodes = CssNodeBuilder.GetMarkupNodes(css).ToArray();

            var rules = new List <IStyleRule>();

            var visualAliases   = new VisualAliasProvider();
            var selectorBuilder = new CssStyleSelectorBuilder(visualAliases);
            var themeProvider   = BaselineThemeProvider.Instance;

            var variableAccessor = new StyleVariableAccessor(themeProvider.ColorPalette);

            var ruleBuilder = new CssRuleBuilder(selectorBuilder, variableAccessor);

            var index = 0;

            foreach (var node in nodes)
            {
                var rule = ruleBuilder.GetRule(node);

                //var selector = selectorBuilder.GetSelector(node);
                if (rule == null)
                {
                    throw new InvalidOperationException();
                }

                // selectors.Add(selector);
                rules.Add(rule);

                index++;
            }
        }
コード例 #2
0
        public ICascadingStyle InflateCss(String css)
        {
            var nodes = CssNodeBuilder.GetMarkupNodes(css);
            var rules = new List <IStyleRule>();

            foreach (var node in nodes)
            {
                var rule = _cssRuleBuilder.GetRule(node);

                if (rule == null)
                {
                    throw new InvalidOperationException();
                }

                rules.Add(rule);
            }

            return(new CascadingStyle(rules));
        }