namespace FluentTest.ViewModels { using System.Diagnostics; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using Fluent.Converters; using FluentTest.Commanding; public class GallerySampleDataItemViewModel : ViewModel { /// /// Creates new item /// /// Icon /// Large Icon /// Text /// Group /// Item public static GallerySampleDataItemViewModel Create(string icon, string iconLarge, string text, string group) { var dataItem = new GallerySampleDataItemViewModel(icon, iconLarge, text, group); return dataItem; } private GallerySampleDataItemViewModel(string icon, string iconLarge, string text, string group) { this.Icon = (ImageSource)StaticConverters.ObjectToImageConverter.Convert(icon, typeof(BitmapImage), null, null); this.IconLarge = (ImageSource)StaticConverters.ObjectToImageConverter.Convert(iconLarge, typeof(BitmapImage), null, null); this.Text = text; this.Group = group; this.Command = new RelayCommand(() => Trace.WriteLine("Command executed")); } /// /// Gets or sets icon /// public ImageSource Icon { get; } /// /// Gets or sets large icon /// public ImageSource IconLarge { get; } /// /// Gets or sets text /// public string Text { get; } /// /// Gets or sets group name /// public string Group { get; } public ICommand Command { get; } } }