public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is ObservableCollection<WatermarkBase>) { if (value != null) { List<WatermarkSelection> watermarks = new List<WatermarkSelection>(); for (int i = 0; i < ((ObservableCollection<WatermarkBase>)value).Count; i++) { WatermarkBase watermark = ((ObservableCollection<WatermarkBase>)value)[i]; WatermarkSelection ws = new WatermarkSelection { Index = i }; if (watermark is WatermarkImage) { ws.WatermarkTypeDisplayText = Resources.LanguageContent.Label_Image; ws.WatermarkType = "Image"; } else if (watermark is WatermarkText) { ws.WatermarkTypeDisplayText = Resources.LanguageContent.Label_Text; ws.WatermarkType = "Text"; } watermarks.Add(ws); } return watermarks; } else { return null; } } else { return null; } }
private void lbWatermarkCollection_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { #if DEBUG System.Diagnostics.Debug.WriteLine("watermark selection changed " + e.AddedItems[0].ToString() + " at " + DateTime.Now); #endif WatermarkSelection selectedItem = e.AddedItems[0] as WatermarkSelection; switch (selectedItem.WatermarkType) { case "Image": presenter.CreateWatermarkImageContent(selectedItem.Index); break; case "Text": presenter.CreateWatermarkTextContent(selectedItem.Index); break; } } }