| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using System;
- using System.Globalization;
- using System.Windows;
- using System.Windows.Data;
- using TeamAAS_VP.Resources.Languages;
- namespace TeamAAS_VP.ValueConverter
- {
- public class RoiToTextConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- try
- {
- if (values == null || values.Length < 5)
- return Lang.δÉèÖÃ;
- // Helper to get numeric value from different value types
- double GetDouble(object v)
- {
- if (v == null) return double.NaN;
- if (v is double d) return d;
- if (v is float f) return f;
- if (v is int i) return i;
- if (v is long l) return l;
- if (v is short s) return s;
- if (v is string s2 && double.TryParse(s2, out var p)) return p;
- if (v == DependencyProperty.UnsetValue) return double.NaN;
- return double.NaN;
- }
- double x = GetDouble(values[0]);
- double y = GetDouble(values[1]);
- double w = GetDouble(values[2]);
- double h = GetDouble(values[3]);
- double angle = GetDouble(values[4]);
- if (double.IsNaN(x) || double.IsNaN(y) || double.IsNaN(w) || double.IsNaN(h) || double.IsNaN(angle))
- return Lang.δÉèÖÃ;
- if (w <= 0 || h <= 0)
- return Lang.δÉèÖÃ;
- return $"X={x:F0}, Y={y:F0}, W={w:F0}, H={h:F0}, Angle={angle:F1}¡ã";
- }
- catch
- {
- return Lang.δÉèÖÃ;
- }
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
- }
|