protected override StyleUserControl GetUICore(StyleBuilderArguments styleArguments) { styleUI = CreateUI(styleArguments); if (styleUI.DataContext is StyleViewModel) { styleViewModel = (StyleViewModel)styleUI.DataContext; styleViewModel.PropertyChanged -= StyleViewModel_PropertyChanged; styleViewModel.PropertyChanged += StyleViewModel_PropertyChanged; } return(styleUI); }
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (styleUIs.ContainsKey(value)) { return(styleUIs[value]); } else { StyleUserControl styleUserControl = null; if (value is AreaStyle) { styleUserControl = new SimpleAreaStyleUserControl((AreaStyle)value) { Width = double.NaN, Height = double.NaN }; } else if (value is LineStyle) { styleUserControl = new SimpleLineStyleUserControl((LineStyle)value) { Width = double.NaN, Height = double.NaN }; } else if (value is PointStyle) { styleUserControl = new SimplePointStyleUserControl((PointStyle)value) { Width = double.NaN, Height = double.NaN }; } else if (value is WellPointStyle) { styleUserControl = new WellPointStyleUserControl((WellPointStyle)value) { Width = double.NaN, Height = double.NaN }; } styleUIs[value] = styleUserControl; return(styleUserControl); } }
private void LayerListManager_SelectedLayerListItemChanged(object sender, SelectedLayerListItemChangedLayerListManagerEventArgs e) { StyleUserControl currentStyleUI = null; StyleLayerListItem styleLayerListItem = e.NewValue as StyleLayerListItem; if (styleLayerListItem != null) { Style style = styleLayerListItem.ConcreteObject as Style; FeatureLayer featureLayer = GetConcreteObjectContaining <FeatureLayer>(styleLayerListItem); if (featureLayer != null && featureLayer.IsVisible && style != null) { StyleBuilderArguments argument = new StyleBuilderArguments(); argument.FeatureLayer = featureLayer; argument.StyleToEdit = new CompositeStyle(style); argument.FillRequiredColumnNames(); currentStyleUI = styleLayerListItem.GetUI(argument); stylePropertyViewModel.FeatureLayer = featureLayer; } } stylePropertyViewModel.StylePropertyContent = currentStyleUI; }