diff --git a/ClipCMD/EnumBooleanConverter.cs b/ClipCMD/EnumBooleanConverter.cs new file mode 100644 index 0000000..a4759b0 --- /dev/null +++ b/ClipCMD/EnumBooleanConverter.cs @@ -0,0 +1,35 @@ +using System; +using System.Windows; +using System.Windows.Data; + +namespace ClipCMD; + +public class EnumBooleanConverter : IValueConverter +{ + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (parameter is not string parameterString) + { + return DependencyProperty.UnsetValue; + } + + if (!Enum.IsDefined(value.GetType(), value)) + { + return DependencyProperty.UnsetValue; + } + + object parameterValue = Enum.Parse(value.GetType(), parameterString); + + return parameterValue.Equals(value); + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (parameter is not string parameterString) + { + return DependencyProperty.UnsetValue; + } + + return Enum.Parse(targetType, parameterString); + } +} \ No newline at end of file diff --git a/ClipCMD/MainWindow.xaml b/ClipCMD/MainWindow.xaml index 064304d..1b066eb 100644 --- a/ClipCMD/MainWindow.xaml +++ b/ClipCMD/MainWindow.xaml @@ -5,18 +5,52 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:ClipCMD" mc:Ignorable="d" + d:DataContext ="{d:DesignInstance {x:Type local:MainWindow}, IsDesignTimeCreatable=True}" Title="ClipCMD" Height="450" Width="800" Closing="OnClose" StateChanged="OnStateChanged" Icon="logo.ico"> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +