Files
aistudio-wpf-diagram/Others/Fluent.Ribbon/Fluent.Ribbon.Showcase/ViewModels/GallerySampleDataItemViewModel.cs
2023-04-16 20:11:40 +08:00

59 lines
1.9 KiB
C#

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
{
/// <summary>
/// Creates new item
/// </summary>
/// <param name="icon">Icon</param>
/// <param name="iconLarge">Large Icon</param>
/// <param name="text">Text</param>
/// <param name="group">Group</param>
/// <returns>Item</returns>
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"));
}
/// <summary>
/// Gets or sets icon
/// </summary>
public ImageSource Icon { get; }
/// <summary>
/// Gets or sets large icon
/// </summary>
public ImageSource IconLarge { get; }
/// <summary>
/// Gets or sets text
/// </summary>
public string Text { get; }
/// <summary>
/// Gets or sets group name
/// </summary>
public string Group { get; }
public ICommand Command { get; }
}
}