Prechádzať zdrojové kódy

Added override for member separator on binding utils

Kenric Nugteren 1 týždeň pred
rodič
commit
e60c4cf194
1 zmenil súbory, kde vykonal 33 pridanie a 22 odobranie
  1. 33 22
      inabox.wpf/WPFUtils.cs

+ 33 - 22
inabox.wpf/WPFUtils.cs

@@ -197,9 +197,10 @@ public static class WPFUtils
         Expression<Func<T, TProperty>> expression,
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
-        string? format = null)
+        string? format = null,
+        string memberSeparator = ".")
     {
-        return new Binding(CoreUtils.GetFullPropertyName(expression, "_"))
+        return new Binding(CoreUtils.GetFullPropertyName(expression, memberSeparator))
         {
             Source = source,
             Converter = converter,
@@ -213,9 +214,10 @@ public static class WPFUtils
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
     {
-        return new Binding(CoreUtils.GetFullPropertyName(expression, "_"))
+        return new Binding(CoreUtils.GetFullPropertyName(expression, memberSeparator))
         {
             Converter = converter,
             StringFormat = format,
@@ -231,9 +233,10 @@ public static class WPFUtils
         TValue value,
         IValueConverter<TProperty, TValue>? converter,
         BindingMode mode = BindingMode.Default,
-        string? format = null)
+        string? format = null,
+        string memberSeparator = ".")
     {
-        trigger.Binding = CreateBinding(source, expression, converter, mode, format);
+        trigger.Binding = CreateBinding(source, expression, converter, mode, format, memberSeparator);
         trigger.Value = value;
         return trigger;
     }
@@ -244,9 +247,10 @@ public static class WPFUtils
         IValueConverter<TProperty, TValue>? converter,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
     {
-        trigger.Binding = CreateBinding(expression, converter, mode, format, relativeSource: relativeSource);
+        trigger.Binding = CreateBinding(expression, converter, mode, format, relativeSource: relativeSource, memberSeparator);
         trigger.Value = value;
         return trigger;
     }
@@ -258,9 +262,10 @@ public static class WPFUtils
         TProperty value,
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
-        string? format = null)
+        string? format = null,
+        string memberSeparator = ".")
     {
-        trigger.Binding = CreateBinding(source, expression, converter, mode, format);
+        trigger.Binding = CreateBinding(source, expression, converter, mode, format, memberSeparator);
         trigger.Value = value;
         return trigger;
     }
@@ -272,9 +277,10 @@ public static class WPFUtils
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
     {
-        trigger.Binding = CreateBinding(expression, converter, mode, format, relativeSource: relativeSource);
+        trigger.Binding = CreateBinding(expression, converter, mode, format, relativeSource: relativeSource, memberSeparator);
         trigger.Value = value;
         return trigger;
     }
@@ -286,12 +292,13 @@ public static class WPFUtils
         Expression<Func<T, TProperty>> expression,
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
-        string? format = null)
+        string? format = null,
+        string memberSeparator = ".")
         where TElement : FrameworkElement
     {
         element.SetBinding(
             property,
-            CreateBinding(source, expression, converter, mode, format)
+            CreateBinding(source, expression, converter, mode, format, memberSeparator)
         );
         return element;
     }
@@ -303,11 +310,12 @@ public static class WPFUtils
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
     {
         element.SetBinding(
             property,
-            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource)
+            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource, memberSeparator)
         );
     }
 
@@ -318,12 +326,13 @@ public static class WPFUtils
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
         where TElement : FrameworkElement
     {
         element.SetBinding(
             property,
-            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource)
+            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource, memberSeparator)
         );
         return element;
     }
@@ -335,11 +344,12 @@ public static class WPFUtils
         Expression<Func<T, TProperty>> expression,
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
-        string? format = null)
+        string? format = null,
+        string memberSeparator = ".")
     {
         element.SetBinding(
             property,
-            CreateBinding(source, expression, converter, mode, format)
+            CreateBinding(source, expression, converter, mode, format, memberSeparator)
         );
         return element;
     }
@@ -351,11 +361,12 @@ public static class WPFUtils
         IValueConverter? converter = null,
         BindingMode mode = BindingMode.Default,
         string? format = null,
-        RelativeSource? relativeSource = null)
+        RelativeSource? relativeSource = null,
+        string memberSeparator = ".")
     {
         element.SetBinding(
             property,
-            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource ?? RelativeSource.TemplatedParent)
+            CreateBinding(expression, converter, mode, format, relativeSource: relativeSource ?? RelativeSource.TemplatedParent, memberSeparator)
         );
         return element;
     }