@@ -15,24 +15,25 @@ public sealed class MathMultipleConverter : IMultiValueConverter
1515
1616 public object Convert ( object [ ] value , Type targetType , object parameter , CultureInfo culture )
1717 {
18+ if ( value == null || value . Length < 2 || value [ 0 ] == null || value [ 1 ] == null ) return Binding . DoNothing ;
19+
1820 double value1 , value2 ;
19- if ( Double . TryParse ( value [ 0 ] . ToString ( ) , out value1 ) && Double . TryParse ( value [ 1 ] . ToString ( ) , out value2 ) )
21+ if ( ! double . TryParse ( value [ 0 ] . ToString ( ) , out value1 ) || ! double . TryParse ( value [ 1 ] . ToString ( ) , out value2 ) )
22+ return Binding . DoNothing ;
23+
24+ switch ( Operation )
2025 {
21- switch ( Operation )
22- {
23- default :
24- case MathOperation . Add :
25- return value1 + value2 ;
26- case MathOperation . Divide :
27- return value1 / value2 ;
28- case MathOperation . Multiply :
29- return value1 * value2 ;
30- case MathOperation . Subtract :
31- return value1 - value2 ;
32- }
26+ default :
27+ // (case MathOperation.Add:)
28+ return value1 + value2 ;
29+ case MathOperation . Divide :
30+ return value1 / value2 ;
31+ case MathOperation . Multiply :
32+ return value1 * value2 ;
33+ case MathOperation . Subtract :
34+ return value1 - value2 ;
3335 }
34-
35- return Binding . DoNothing ;
36+
3637 }
3738
3839 public object [ ] ConvertBack ( object value , Type [ ] targetTypes , object parameter , CultureInfo culture )
0 commit comments