public static void PredefinedSelectedItemChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { GeoStyleViewModel geoStyleEntity = (GeoStyleViewModel)e.NewValue; PredefinedStylePicker control = (PredefinedStylePicker)sender; if (e.OldValue != null && geoStyleEntity != null && ((GeoStyleViewModel)e.OldValue).Name != geoStyleEntity.Name) { control.SelectedItem = control.StylesSource.FirstOrDefault(i => { return(i.Name == geoStyleEntity.Name); }); } }
public static void PredefinedStyleTypeChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { PredefinedStylePicker control = (PredefinedStylePicker)sender; control.stylesSource.Clear(); switch ((PredefinedStyleType)e.NewValue) { case PredefinedStyleType.Line: PropertyInfo[] lineStyleInfos = typeof(LineStyles).GetProperties(); foreach (var lineStyleInfo in lineStyleInfos) { LineStyle geoLineStyle = (LineStyle)lineStyleInfo.GetValue(null, null); GeoStyleViewModel geoStyleEntity = new GeoStyleViewModel(lineStyleInfo.Name, geoLineStyle); control.stylesSource.Add(geoStyleEntity); } break; case PredefinedStyleType.Point: PropertyInfo[] pointStyleInfos = typeof(PointStyles).GetProperties(); foreach (var pointStyleInfo in pointStyleInfos) { PointStyle geoPointStyle = (PointStyle)pointStyleInfo.GetValue(null, null); GeoStyleViewModel geoStyleEntity = new GeoStyleViewModel(pointStyleInfo.Name, geoPointStyle); control.stylesSource.Add(geoStyleEntity); } break; case PredefinedStyleType.Area: PropertyInfo[] areaStyleInfos = typeof(AreaStyles).GetProperties(); foreach (var areaStyleInfo in areaStyleInfos) { AreaStyle geoAreaStyle = (AreaStyle)areaStyleInfo.GetValue(null, null); GeoStyleViewModel geoStyleEntity = new GeoStyleViewModel(areaStyleInfo.Name, geoAreaStyle); control.stylesSource.Add(geoStyleEntity); } break; } }