private void OnLayersListChanging() { base.AllowReorder = false; this.layersAndItemsBeforeChanging = this.layers.Select <Layer, KeyValuePair <Layer, VerticalImageStrip.Item> >(l => new KeyValuePair <Layer, VerticalImageStrip.Item>(l, this.layerToItemMap[l])).ToArrayEx <KeyValuePair <Layer, VerticalImageStrip.Item> >(); this.renderSlotsBeforeChanging = DictionaryUtil.From <Layer, double>(this.layersAndItemsBeforeChanging.Select <KeyValuePair <Layer, VerticalImageStrip.Item>, Layer>(kv => kv.Key), this.layersAndItemsBeforeChanging.Select <KeyValuePair <Layer, VerticalImageStrip.Item>, double>(kv => kv.Value.RenderSlot.Value)); }