PowerToys/src/settings-ui/Settings.UI.Library/ViewModels/PluginAdditionalOptionViewModel.cs

44 lines
1.3 KiB
C#
Raw Normal View History

2021-02-26 19:21:58 +08:00
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels
{
public class PluginAdditionalOptionViewModel : INotifyPropertyChanged
{
private PluginAdditionalOption _additionalOption;
internal PluginAdditionalOptionViewModel(PluginAdditionalOption additionalOption)
{
_additionalOption = additionalOption;
}
public string DisplayLabel { get => _additionalOption.DisplayLabel; }
public string DisplayDescription { get => _additionalOption.DisplayDescription; }
2021-02-26 19:21:58 +08:00
public bool Value
{
get => _additionalOption.Value;
set
{
if (value != _additionalOption.Value)
{
_additionalOption.Value = value;
NotifyPropertyChanged();
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}