Skip to content

Commit 509695d

Browse files
author
Sébastien Geiser
committed
More comments + Multi string format can use first binding as format
1 parent 979aa2c commit 509695d

36 files changed

+89
-5
lines changed

CodingSeb.Converters/Converters/BaseConverter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,13 @@
33

44
namespace CodingSeb.Converters
55
{
6+
/// <summary>
7+
/// The base class for all converters of this lib
8+
/// To implement Markup extension
9+
/// </summary>
610
public abstract class BaseConverter : MarkupExtension
711
{
12+
/// <inheritdoc/>
813
public override object ProvideValue(IServiceProvider serviceProvider) => this;
914
}
1015
}

CodingSeb.Converters/Converters/BoolMultiBindingAndConditionConverter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ public class BoolMultiBindingAndConditionConverter : BaseConverter, IMultiValueC
1414
{
1515
public bool? InDesigner { get; set; }
1616

17+
/// <inheritdoc/>
1718
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
1819
{
1920
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()) && InDesigner != null)
20-
return InDesigner;
21+
return InDesigner.Value;
2122

2223
if (values.Any(v => v == Binding.DoNothing))
2324
return Binding.DoNothing;
@@ -28,6 +29,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
2829
return values.ToList().All(e => bool.TryParse(e.ToString(), out bool result) && result);
2930
}
3031

32+
/// <inheritdoc/>
3133
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
3234
}
3335
}

CodingSeb.Converters/Converters/BoolMultiBindingOrConditionConverter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ public class BoolMultiBindingOrConditionConverter : BaseConverter, IMultiValueCo
1414
{
1515
public bool? InDesigner { get; set; }
1616

17+
/// <inheritdoc/>
1718
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
1819
{
1920
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()) && InDesigner != null)
20-
return InDesigner;
21+
return InDesigner.Value;
2122

2223
if (values.Any(v => v == Binding.DoNothing))
2324
return Binding.DoNothing;
@@ -28,6 +29,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
2829
return values.ToList().Any(e => bool.TryParse(e.ToString(), out bool result) && result);
2930
}
3031

32+
/// <inheritdoc/>
3133
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
3234
}
3335
}

CodingSeb.Converters/Converters/BoolReverseConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class BoolReverseConverter : BaseConverter, IValueConverter
1313
{
1414
public bool? InDesigner { get; set; }
1515

16+
/// <inheritdoc/>
1617
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
1718
{
1819
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()) && InDesigner != null)
@@ -27,6 +28,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
2728
return !(bool)value;
2829
}
2930

31+
/// <inheritdoc/>
3032
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
3133
{
3234
return !(bool)value;

CodingSeb.Converters/Converters/BoolToValuesConverter_T.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public BoolToValuesGenericConverter(T trueValue, T falseValue)
6767

6868
#region IValueConverter Membres
6969

70+
/// <inheritdoc/>
7071
public virtual object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
7172
{
7273
bool bValue = OnReverseNullValue;
@@ -92,6 +93,7 @@ public virtual object Convert(object value, Type targetType, object parameter, S
9293
return bValue ? TrueValue : FalseValue;
9394
}
9495

96+
/// <inheritdoc/>
9597
public virtual object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
9698
{
9799
bool result = OnReverseNullValue;
@@ -204,6 +206,7 @@ public BoolToObjectConverter(object trueValue, object falseValue) : base(trueVal
204206
/// </summary>
205207
public class BoolToBitmapImageConverter : BoolToValuesGenericConverter<BitmapImage>
206208
{
209+
/// <inheritdoc/>
207210
public override object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
208211
{
209212
bool result = OnReverseNullValue;

CodingSeb.Converters/Converters/ChainingMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public ChainingMultiBindingConverter(IMultiValueConverter multiValueConverter1,
8888
private string[] parameters;
8989
private System.Collections.Generic.List<IValueConverter> converters;
9090

91+
/// <inheritdoc/>
9192
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
9293
{
9394
converters = Converters.ToList();
@@ -143,6 +144,7 @@ private object GetParameter(IValueConverter converter)
143144
return parameter;
144145
}
145146

147+
/// <inheritdoc/>
146148
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
147149
{
148150
converters = Converters.ToList();

CodingSeb.Converters/Converters/ColorToSolidColorBrushConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace CodingSeb.Converters
1010
/// </summary>
1111
public class ColorToSolidColorBrushConverter : BaseConverter, IValueConverter
1212
{
13+
/// <inheritdoc/>
1314
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
1415
{
1516
if (value is Color color)
@@ -19,6 +20,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
1920
return null;
2021
}
2122

23+
/// <inheritdoc/>
2224
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
2325
{
2426
if (value is SolidColorBrush brush)

CodingSeb.Converters/Converters/ConvertToTypeConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public ConvertToTypeConverter(Type convertToType)
3131
/// </summary>
3232
public Type ConvertBackToType { get; set; }
3333

34+
/// <inheritdoc/>
3435
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
3536
{
3637
try
@@ -74,6 +75,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
7475
}
7576
}
7677

78+
/// <inheritdoc/>
7779
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
7880
{
7981
try

CodingSeb.Converters/Converters/CustomBoolToVisibilityConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public CustomBoolToVisibilityConverter(Visibility trueValue, Visibility falseVal
5454
[ConstructorArgument("falseValue")]
5555
public Visibility FalseValue { get; set; } = Visibility.Collapsed;
5656

57+
/// <inheritdoc/>
5758
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
5859
{
5960
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()) && InDesigner != null)
@@ -72,6 +73,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
7273
return value is bool x && x ? TrueValue : FalseValue;
7374
}
7475

76+
/// <inheritdoc/>
7577
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
7678
{
7779
return value is Visibility visibility && visibility == TrueValue;

CodingSeb.Converters/Converters/DoubleAbsoluteValueConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class DoubleAbsoluteValueConverter : BaseConverter, IValueConverter
1616
/// </summary>
1717
public double DefaultValue { get; set; }
1818

19+
/// <inheritdoc/>
1920
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2021
{
2122
try
@@ -28,6 +29,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
2829
}
2930
}
3031

32+
/// <inheritdoc/>
3133
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException();
3234
}
3335
}

CodingSeb.Converters/Converters/DoubleAddValueConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public DoubleAddValueConverter(double add)
3838
/// </summary>
3939
public double ConvertBackDefaultValue { get; set; }
4040

41+
/// <inheritdoc/>
4142
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
4243
{
4344
try
@@ -50,6 +51,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
5051
}
5152
}
5253

54+
/// <inheritdoc/>
5355
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
5456
{
5557
try

CodingSeb.Converters/Converters/DoubleFactorValueConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public class DoubleFactorValueConverter : BaseConverter, IValueConverter
3636
/// </summary>
3737
public DoubleConvertersUseParameterTo UseParameterTo { get; set; }
3838

39+
/// <inheritdoc/>
3940
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
4041
{
4142
try
@@ -62,6 +63,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
6263
}
6364
}
6465

66+
/// <inheritdoc/>
6567
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
6668
{
6769
try

CodingSeb.Converters/Converters/DoubleInverseValueConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class DoubleInverseValueConverter : BaseConverter, IValueConverter
2222
/// </summary>
2323
public double ConvertBackDefaultValue { get; set; }
2424

25+
/// <inheritdoc/>
2526
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2627
{
2728
try
@@ -34,6 +35,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
3435
}
3536
}
3637

38+
/// <inheritdoc/>
3739
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
3840
{
3941
try

CodingSeb.Converters/Converters/DoubleMaxValueMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class DoubleMaxValueMultiBindingConverter : BaseConverter, IMultiValueCon
1616
/// </summary>
1717
public double DefaultValue { get; set; }
1818

19+
/// <inheritdoc/>
1920
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
2021
{
2122
try
@@ -28,6 +29,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
2829
}
2930
}
3031

32+
/// <inheritdoc/>
3133
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
3234
}
3335
}

CodingSeb.Converters/Converters/DoubleMinValueMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class DoubleMinValueMultiBindingConverter : BaseConverter, IMultiValueCon
1616
/// </summary>
1717
public double DefaultValue { get; set; }
1818

19+
/// <inheritdoc/>
1920
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
2021
{
2122
try
@@ -28,6 +29,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
2829
}
2930
}
3031

32+
/// <inheritdoc/>
3133
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
3234
}
3335
}

CodingSeb.Converters/Converters/DoubleMinusValueConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class DoubleMinusValueConverter : BaseConverter, IValueConverter
2222
/// </summary>
2323
public double ConvertBackDefaultValue { get; set; }
2424

25+
/// <inheritdoc/>
2526
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2627
{
2728
try
@@ -34,6 +35,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
3435
}
3536
}
3637

38+
/// <inheritdoc/>
3739
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
3840
{
3941
try

CodingSeb.Converters/Converters/DoubleValuesMultiplyMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public class DoubleValuesMultiplyMultiBindingConverter : BaseConverter, IMultiVa
3333
/// </summary>
3434
public DoubleConvertersUseParameterTo UseParameterTo { get; set; }
3535

36+
/// <inheritdoc/>
3637
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
3738
{
3839
try
@@ -59,6 +60,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
5960
}
6061
}
6162

63+
/// <inheritdoc/>
6264
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
6365
}
6466
}

CodingSeb.Converters/Converters/DoubleValuesSumMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public class DoubleValuesSumMultiBindingConverter : BaseConverter, IMultiValueCo
2222
/// </summary>
2323
public double AdditionalConstValueToAdd { get; set; }
2424

25+
/// <inheritdoc/>
2526
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
2627
{
2728
try
@@ -34,6 +35,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
3435
}
3536
}
3637

38+
/// <inheritdoc/>
3739
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) => throw new NotImplementedException();
3840
}
3941
}

CodingSeb.Converters/Converters/ExclusiveBoolToEnumParameterConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ namespace CodingSeb.Converters
1212
/// </summary>
1313
public class ExclusiveBoolToEnumOrEquatableParameterConverter : BaseConverter, IValueConverter
1414
{
15+
/// <inheritdoc/>
1516
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
1617
{
1718
if (value != null)
@@ -22,6 +23,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
2223
return DependencyProperty.UnsetValue;
2324
}
2425

26+
/// <inheritdoc/>
2527
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
2628
{
2729
if (value is bool x && x)

CodingSeb.Converters/Converters/ExpressionEvalConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public ExpressionEvalConverter(string expression, bool optionCaseSensitiveEvalua
7272
/// </summary>
7373
public bool ThrowExceptions { get; set; }
7474

75+
/// <inheritdoc/>
7576
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
7677
{
7778
Dictionary<string, object> variables = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
@@ -114,6 +115,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
114115
}
115116
}
116117

118+
/// <inheritdoc/>
117119
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
118120
{
119121
Dictionary<string, object> variables = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);

CodingSeb.Converters/Converters/ExpressionEvalMultiBindingConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public ExpressionEvalMultiBindingConverter(string expression, bool optionCaseSen
7373
/// </summary>
7474
public bool ThrowExceptions { get; set; }
7575

76+
/// <inheritdoc/>
7677
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
7778
{
7879
Dictionary<string, object> variables = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
@@ -115,6 +116,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
115116
}
116117
}
117118

119+
/// <inheritdoc/>
118120
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
119121
{
120122
Dictionary<string, object> variables = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);

CodingSeb.Converters/Converters/FileNameConverter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class FileNameConverter : BaseConverter, IValueConverter
4747
/// </summary>
4848
public bool AsUri { get; set; }
4949

50+
/// <inheritdoc/>
5051
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
5152
{
5253
if (DesignerProperties.GetIsInDesignMode(new DependencyObject()) && InDesigner != null)
@@ -80,6 +81,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
8081
return AsUri ? (object)new Uri(result) : result;
8182
}
8283

84+
/// <inheritdoc/>
8385
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
8486
{
8587
return Path.GetFileNameWithoutExtension(value.ToString());

CodingSeb.Converters/Converters/GetTypeConverter.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace CodingSeb.Converters
88
/// <summary>
99
/// Return the type of the binding
1010
/// </summary>
11-
public class GetTypeConverter : MarkupExtension, IValueConverter
11+
public class GetTypeConverter : BaseConverter, IValueConverter
1212
{
1313
/// <summary>
1414
/// Indicate if the converter must return the type as string with the namespace or not.
@@ -20,6 +20,7 @@ public class GetTypeConverter : MarkupExtension, IValueConverter
2020
/// </summary>
2121
public bool AsString { get; set; } = false;
2222

23+
/// <inheritdoc/>
2324
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2425
{
2526
if (AsString)
@@ -35,8 +36,7 @@ public object Convert(object value, Type targetType, object parameter, CultureIn
3536
return value.GetType();
3637
}
3738

39+
/// <inheritdoc/>
3840
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException();
39-
40-
public override object ProvideValue(IServiceProvider serviceProvider) => this;
4141
}
4242
}

0 commit comments

Comments
 (0)