using LiveCharts.Definitions.Series; using LiveCharts.Wpf; using System; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Threading; using System.Windows; using System.Windows.Media; namespace Gestor.Application.Componentes { public class CustomSeriesViewModel : INotifyPropertyChanged { public Brush Fill { get { return this.SeriesViewModel.get_Fill() ?? this.SeriesViewModel.get_Stroke(); } } public bool IsVisible { get { return ((UIElement)this.View).Visibility == Visibility.Visible; } set { if (this.IsVisible != value) { ((UIElement)this.View).Visibility = (value ? Visibility.Visible : Visibility.Hidden); this.OnPropertyChanged("IsVisible"); } } } public LiveCharts.Wpf.SeriesViewModel SeriesViewModel { get; } public string Title { get { return this.SeriesViewModel.get_Title(); } } public ISeriesView View { get; } public CustomSeriesViewModel(LiveCharts.Wpf.SeriesViewModel svm, ISeriesView view) { this.SeriesViewModel = svm; this.View = view; } protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = "") { if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public event PropertyChangedEventHandler PropertyChanged; } }