private static void GetSettersForDatePicker(ref List <Setter> setters, List <string> classes) { foreach (string CoolXClass in classes) { if (CoolXClass.StartsWith("min-date:")) { setters.Add(new Setter { Property = DatePicker.MinimumDateProperty, Value = Convert.ToDateTime(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.StartsWith("max-date:")) { setters.Add(new Setter { Property = DatePicker.MaximumDateProperty, Value = Convert.ToDateTime(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.StartsWith("date:")) { setters.Add(new Setter { Property = DatePicker.DateProperty, Value = Convert.ToDateTime(CoolXClass.Split(':') [1]) }); continue; } } }
private static void GetBaseSetters(ref List <Setter> setters, ref List <string> classes) { List <string> currentClasses = new List <string> (classes); foreach (string CoolXClass in currentClasses) { if (CoolXClass.Contains("bg-color")) { setters.Add(new Setter { Property = VisualElement.BackgroundColorProperty, Value = ColorHelper.GetColor(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.Contains("anchor-x")) { setters.Add(new Setter { Property = VisualElement.AnchorXProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.Contains("anchor-y")) { setters.Add(new Setter { Property = VisualElement.AnchorYProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.Contains("min-height")) { setters.Add(new Setter { Property = VisualElement.MinimumHeightRequestProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.Contains("height-request")) { setters.Add(new Setter { Property = VisualElement.HeightRequestProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.Contains("min-width")) { setters.Add(new Setter { Property = VisualElement.MinimumWidthRequestProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.Contains("width-request")) { setters.Add(new Setter { Property = VisualElement.WidthRequestProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("rotation")) { setters.Add(new Setter { Property = VisualElement.RotationProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("rotation-x")) { setters.Add(new Setter { Property = VisualElement.RotationXProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("rotation-y")) { setters.Add(new Setter { Property = VisualElement.RotationYProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("translation-x")) { setters.Add(new Setter { Property = VisualElement.TranslationXProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("translation-y")) { setters.Add(new Setter { Property = VisualElement.TranslationYProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("opacity")) { setters.Add(new Setter { Property = VisualElement.OpacityProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } if (CoolXClass.StartsWith("scale")) { setters.Add(new Setter { Property = VisualElement.ScaleProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); classes.Remove(CoolXClass); continue; } switch (CoolXClass) { case "hidden": setters.Add(new Setter { Property = VisualElement.IsVisibleProperty, Value = false }); classes.Remove(CoolXClass); break; case "visible": setters.Add(new Setter { Property = VisualElement.IsVisibleProperty, Value = true }); classes.Remove(CoolXClass); break; case "enable": setters.Add(new Setter { Property = VisualElement.IsEnabledProperty, Value = true }); classes.Remove(CoolXClass); break; case "disable": setters.Add(new Setter { Property = VisualElement.IsEnabledProperty, Value = false }); classes.Remove(CoolXClass); break; } } }
private static void GetSettersForLabel(ref List <Setter> setters, List <string> classes) { foreach (string CoolXClass in classes) { if (CoolXClass.Contains("text-color:")) { setters.Add(new Setter { Property = Label.TextColorProperty, Value = ColorHelper.GetColor(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.StartsWith("line-break")) { switch (CoolXClass.Split(':') [1]) { case "none": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.NoWrap }); break; case "word": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.WordWrap }); break; case "character": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.CharacterWrap }); break; case "head": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.HeadTruncation }); break; case "tail": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.TailTruncation }); break; case "middle": setters.Add(new Setter { Property = Label.LineBreakModeProperty, Value = LineBreakMode.MiddleTruncation }); break; } continue; } if (CoolXClass.StartsWith("font-attr:")) { switch (CoolXClass.Split(':') [1]) { case "none": setters.Add(new Setter { Property = Label.FontAttributesProperty, Value = FontAttributes.None }); break; case "bold": setters.Add(new Setter { Property = Label.FontAttributesProperty, Value = FontAttributes.Bold }); break; case "italic": setters.Add(new Setter { Property = Label.FontAttributesProperty, Value = FontAttributes.Italic }); break; } continue; } if (CoolXClass.StartsWith("font-size:")) { double fontSize = Convert.ToDouble(CoolXClass.Split(':') [1]); setters.Add(new Setter { Property = Label.FontSizeProperty, Value = fontSize }); continue; } if (CoolXClass.StartsWith("text:")) { setters.Add(new Setter { Property = Label.TextProperty, Value = CoolXClass.Split(':') [1] }); continue; } switch (CoolXClass) { case "horizontal-start": case "horizontal-center": case "horizontal-end": setters.Add(new Setter { Property = Label.XAlignProperty, Value = CoolXClass.Split('-') [1] == "center" ? TextAlignment.Center : (CoolXClass.Split('-') [1] == "start" ? TextAlignment.Start : TextAlignment.End) }); break; case "vertical-start": case "vertical-center": case "vertical-end": setters.Add(new Setter { Property = Label.YAlignProperty, Value = CoolXClass.Split('-') [1] == "center" ? TextAlignment.Center : (CoolXClass.Split('-') [1] == "start" ? TextAlignment.Start : TextAlignment.End) }); break; } } }
private static void GetSettersForButton(ref List <Setter> setters, List <string> classes) { foreach (string CoolXClass in classes) { if (CoolXClass.Contains("text-color:")) { setters.Add(new Setter { Property = Button.TextColorProperty, Value = ColorHelper.GetColor(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.StartsWith("border-")) { switch (CoolXClass.Split('-') [1].Split(':') [0]) { case "radius": setters.Add(new Setter { Property = Button.BorderRadiusProperty, Value = Convert.ToInt32(CoolXClass.Split(':') [1]) }); break; case "width": setters.Add(new Setter { Property = Button.BorderWidthProperty, Value = Convert.ToDouble(CoolXClass.Split(':') [1]) }); break; case "color": setters.Add(new Setter { Property = Button.BorderColorProperty, Value = ColorHelper.GetColor(CoolXClass.Split(':') [1]) }); break; } } if (CoolXClass.StartsWith("font-size:")) { double fontSize = Convert.ToDouble(CoolXClass.Split(':') [1]); setters.Add(new Setter { Property = Button.FontSizeProperty, Value = fontSize }); continue; } if (CoolXClass.StartsWith("text-color:")) { setters.Add(new Setter { Property = Button.TextProperty, Value = ColorHelper.GetColor(CoolXClass.Split(':') [1]) }); continue; } if (CoolXClass.StartsWith("text:")) { setters.Add(new Setter { Property = Button.TextProperty, Value = CoolXClass.Split(':') [1] }); continue; } } }