From bb5f5700d8de5dfa481942c54d686b135f24e97c Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Wed, 14 Aug 2024 19:02:17 +0200 Subject: [PATCH] Converter + ValueConverterGroup --- BeWo/BeWo.csproj | 3 ++ BeWo/BeWoApp.xaml | 6 ++++ ...BoolEnabledToTabitemBackgroundConverter.cs | 25 +++++++++++++++++ .../BoolToParameterReturnConverter.cs | 28 +++++++++++++++++++ BeWo/Converter/ValueConverterGroup.cs | 26 +++++++++++++++++ BeWo/Styles/OrangeBlack.xaml | 1 + BeWo/View/Detail/WohnheimView.xaml | 12 ++++++-- 7 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 BeWo/Converter/BoolEnabledToTabitemBackgroundConverter.cs create mode 100644 BeWo/Converter/BoolToParameterReturnConverter.cs create mode 100644 BeWo/Converter/ValueConverterGroup.cs diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj index 7ffe8f1d5..cd81f6814 100644 --- a/BeWo/BeWo.csproj +++ b/BeWo/BeWo.csproj @@ -848,6 +848,8 @@ + + @@ -868,6 +870,7 @@ + diff --git a/BeWo/BeWoApp.xaml b/BeWo/BeWoApp.xaml index b3f8d1735..f27dcb636 100644 --- a/BeWo/BeWoApp.xaml +++ b/BeWo/BeWoApp.xaml @@ -62,6 +62,12 @@ + + + + + + diff --git a/BeWo/Converter/BoolEnabledToTabitemBackgroundConverter.cs b/BeWo/Converter/BoolEnabledToTabitemBackgroundConverter.cs new file mode 100644 index 000000000..13b4182ee --- /dev/null +++ b/BeWo/Converter/BoolEnabledToTabitemBackgroundConverter.cs @@ -0,0 +1,25 @@ +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace BeWo.Converter +{ + public class BoolEnabledToTabitemBackgroundConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return Application.Current.Resources["TabItemTextBrush"]; + } + + return (bool)value ? Application.Current.Resources["TabItemTextBrush"] : Application.Current.Resources["TabItemTextBrushDisabled"]; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/BeWo/Converter/BoolToParameterReturnConverter.cs b/BeWo/Converter/BoolToParameterReturnConverter.cs new file mode 100644 index 000000000..867c94b82 --- /dev/null +++ b/BeWo/Converter/BoolToParameterReturnConverter.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace BeWo.Converter +{ + public class BoolToParameterReturnConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return null; + } + + return (bool)value ? parameter : null; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/BeWo/Converter/ValueConverterGroup.cs b/BeWo/Converter/ValueConverterGroup.cs new file mode 100644 index 000000000..bb4315d90 --- /dev/null +++ b/BeWo/Converter/ValueConverterGroup.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace BeWo.Converter +{ + public class ValueConverterGroup : List, IValueConverter + { + #region IValueConverter Members + + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return this.Aggregate(value, (current, converter) => converter.Convert(current, targetType, parameter, culture)); + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + throw new NotImplementedException(); + } + + #endregion + } +} diff --git a/BeWo/Styles/OrangeBlack.xaml b/BeWo/Styles/OrangeBlack.xaml index a53795b28..b5b318182 100644 --- a/BeWo/Styles/OrangeBlack.xaml +++ b/BeWo/Styles/OrangeBlack.xaml @@ -3277,6 +3277,7 @@ +