public static DataTemplate VariableSizeTemplate() { var indexHeightConverter = new IndexRequestConverter(3, 50, 150); var indexWidthConverter = new IndexRequestConverter(3, 100, 300); var colorConverter = new IndexColorConverter(); return(new DataTemplate(() => { var layout = new Frame(); layout.SetBinding(VisualElement.HeightRequestProperty, new Binding("Index", converter: indexHeightConverter)); layout.SetBinding(VisualElement.WidthRequestProperty, new Binding("Index", converter: indexWidthConverter)); layout.SetBinding(VisualElement.BackgroundColorProperty, new Binding("Index", converter: colorConverter)); var image = new Image { Aspect = Aspect.AspectFit }; image.SetBinding(VisualElement.HeightRequestProperty, new Binding("Index", converter: indexHeightConverter)); image.SetBinding(VisualElement.WidthRequestProperty, new Binding("Index", converter: indexWidthConverter)); image.SetBinding(Image.SourceProperty, new Binding("Image")); layout.Content = image; return layout; })); }
private void UpdateInnerCircleColor() { var indexCalculator = IndexCalculatorCollection.CreateByName(Properties.Settings.Default.MapInnerCircleColorType); var palette = PaletteCollection.GetByName(Properties.Settings.Default.MapInnerCirclePalette) .Palette; var colorCalculator = new IndexColorConverter(indexCalculator, palette); foreach (var curSystem in _solarSystems) { curSystem.InnerCircleColor = colorCalculator.GetBrush(curSystem); } }
public static DataTemplate RandomSizeTemplate() { var indexHeightConverter = new IndexRequestRandomConverter(50, 150); var indexWidthConverter = new IndexRequestRandomConverter(50, 150); var colorConverter = new IndexColorConverter(); return(new DataTemplate(() => { var layout = new Frame(); layout.SetBinding(VisualElement.HeightRequestProperty, new Binding("Index", converter: indexHeightConverter)); layout.SetBinding(VisualElement.WidthRequestProperty, new Binding("Index", converter: indexWidthConverter)); layout.SetBinding(VisualElement.BackgroundColorProperty, new Binding("Index", converter: colorConverter)); var label = new Label { FontSize = 30 }; label.SetBinding(Label.TextProperty, new Binding("Index")); layout.Content = label; return layout; })); }