using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; using Tango.PPC.Common.Notifications; namespace Tango.PPC.UI.Converters { public class ItemBaseConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ItemBase item = value as ItemBase; if (item != null) { var view = Activator.CreateInstance(item.ViewType) as FrameworkElement; if (view == null) { throw new InvalidOperationException("The type " + item.ViewType + " is not a framework element."); } view.DataContext = item; return view; } return null; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }