|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CBR.Core.Helpers;
using System.Collections.ObjectModel;
using CBR.Core.Services;
using System.Windows.Input;
namespace CBR.ViewModels
{
public class DynPropertyViewModel : ViewModelBase
{
public ObservableCollection<string> Dynamics
{
get { return new ObservableCollection<string>(WorkspaceService.Instance.Settings.Dynamics); }
}
#region add command
private ICommand addPropertyCommand;
public ICommand AddPropertyCommand
{
get
{
if (addPropertyCommand == null)
addPropertyCommand = new DelegateCommand<string>(AddProperty, delegate(string param) { return !string.IsNullOrEmpty(param); });
return addPropertyCommand;
}
}
void AddProperty(string param)
{
try
{
if (WorkspaceService.Instance.Settings.Dynamics.Contains(param as string))
return;
else
{
WorkspaceService.Instance.Settings.Dynamics.Add(param as string);
Properties.Settings.Default.CatalogSetting = WorkspaceService.Instance.Settings;
Properties.Settings.Default.Save();
}
RaisePropertyChanged("Dynamics");
Mediator.Instance.NotifyColleagues(ViewModelMessages.SettingsChanged, WorkspaceService.Instance.Settings);
}
catch (Exception err)
{
ExceptionHelper.Manage("OptionsViewModel:AddProperty", err);
}
}
#endregion
#region delete command
private ICommand deletePropertyCommand;
public ICommand DeletePropertyCommand
{
get
{
if (deletePropertyCommand == null)
deletePropertyCommand = new DelegateCommand<string>(DeleteProperty, delegate(string param) { return !string.IsNullOrEmpty(param); });
return deletePropertyCommand;
}
}
void DeleteProperty(string param)
{
try
{
if (WorkspaceService.Instance.Settings.Dynamics.Contains(param as string))
{
WorkspaceService.Instance.Settings.Dynamics.Remove(param as string);
Properties.Settings.Default.CatalogSetting = WorkspaceService.Instance.Settings;
Properties.Settings.Default.Save();
}
RaisePropertyChanged("Dynamics");
Mediator.Instance.NotifyColleagues(ViewModelMessages.SettingsChanged, WorkspaceService.Instance.Settings);
}
catch (Exception err)
{
ExceptionHelper.Manage("OptionsViewModel:DeleteProperty", err);
}
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
WPF and MVVM fan, I practice C # in all its forms from the beginning of the NET Framework without mentioning C ++ / MFC and other software packages such as databases, ASP, WCF, Web & Windows services, Application, and now Core and UWP.
In my wasted hours, I am guilty of having fathered C.B.R. and its cousins C.B.R. for WinRT and UWP on the Windows store.
But apart from that, I am a great handyman ... the house, a rocket stove to heat the jacuzzi and the last one: a wood oven for pizza, bread, and everything that goes inside
https://guillaumewaser.wordpress.com/
https://fouretcompagnie.wordpress.com/