diff --git a/PacticeSolution/ValueConverterSample/Converter/YesNoToBoolConverter.cs b/PacticeSolution/ValueConverterSample/Converter/YesNoToBoolConverter.cs new file mode 100644 index 0000000..989db57 --- /dev/null +++ b/PacticeSolution/ValueConverterSample/Converter/YesNoToBoolConverter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace ValueConverterSample.Converter +{ + internal class YesNoToBoolConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + return false; + + switch (value.ToString().ToUpper()) + { + case "YES": + return true; + case "NO": + return false; + default: + return false; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + if (!(value is bool)) + return "NO"; + + bool converted = (bool)value; + if (converted) + return "YES"; + else + return "NO"; + } + } +} diff --git a/PacticeSolution/ValueConverterSample/MainWindow.xaml b/PacticeSolution/ValueConverterSample/MainWindow.xaml index f2c92be..40ec022 100644 --- a/PacticeSolution/ValueConverterSample/MainWindow.xaml +++ b/PacticeSolution/ValueConverterSample/MainWindow.xaml @@ -4,9 +4,23 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:ValueConverterSample" + xmlns:cvt="clr-namespace:ValueConverterSample.Converter" mc:Ignorable="d" - Title="MainWindow" Height="450" Width="800"> - - - + Title="MainWindow" Height="100" Width="300"> + + + + + + + + + + + + + diff --git a/PacticeSolution/ValueConverterSample/ValueConverterSample.csproj b/PacticeSolution/ValueConverterSample/ValueConverterSample.csproj index d09bb05..5a2b5ae 100644 --- a/PacticeSolution/ValueConverterSample/ValueConverterSample.csproj +++ b/PacticeSolution/ValueConverterSample/ValueConverterSample.csproj @@ -62,6 +62,7 @@ App.xaml Code + MainWindow.xaml Code