Esempio n. 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++;
            }
        }
        private static ICssRuleBuilder GetCssRuleBuilder(IStyleVariableAccessor variableAccessor)
        {
            var visualAliases   = new VisualAliasProvider();
            var selectorBuilder = new CssStyleSelectorBuilder(visualAliases);

            var ruleBuilder = new CssRuleBuilder(selectorBuilder, variableAccessor);

            return(ruleBuilder);
        }