public void LayerListChanged(PlotterController sender, LayerListInfo layerListInfo) { foreach (LayerHolder lh in LayerList) { lh.PropertyChanged -= LayerListItemPropertyChanged; } LayerList.Clear(); foreach (CadLayer layer in layerListInfo.LayerList) { LayerHolder layerHolder = new LayerHolder(layer); layerHolder.PropertyChanged += LayerListItemPropertyChanged; LayerList.Add(layerHolder); } int idx = GetLayerListIndex(layerListInfo.CurrentID); if (idx >= 0) { SelectedItem = LayerList[idx]; } }
public void LayerListItemPropertyChanged(object sender, PropertyChangedEventArgs e) { LayerHolder lh = (LayerHolder)sender; mContext.Redraw(); }