mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-28 04:03:23 +08:00
mind
This commit is contained in:
27
AIStudio.Wpf.DiagramDesigner/Converters/AditionConverter.cs
Normal file
27
AIStudio.Wpf.DiagramDesigner/Converters/AditionConverter.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class AdditionConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if ((value != null) && (parameter != null))
|
||||
{
|
||||
var firstValue = (double)value;
|
||||
var secondValue = double.Parse(parameter?.ToString());
|
||||
|
||||
return firstValue + secondValue;
|
||||
}
|
||||
|
||||
return 0d;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class GridLengthConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var length = value?.ToString();
|
||||
try
|
||||
{
|
||||
double add = 0;
|
||||
double.TryParse(parameter?.ToString(), out add);
|
||||
return new GridLength(double.Parse(length) + add, GridUnitType.Pixel);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new GridLength(1, GridUnitType.Auto);
|
||||
}
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return DependencyProperty.UnsetValue;
|
||||
}
|
||||
}
|
||||
|
||||
public class GridLengthAutoConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var length = value?.ToString();
|
||||
try
|
||||
{
|
||||
if (Regex.IsMatch(length, @"^\d+(\.\d+)?$"))
|
||||
{
|
||||
return new GridLength(double.Parse(length), GridUnitType.Pixel);
|
||||
}
|
||||
else if (length == "*")
|
||||
{
|
||||
return new GridLength(1, GridUnitType.Star);
|
||||
}
|
||||
else if (Regex.IsMatch(length, @"^\d+(\.\d+)?\*$"))
|
||||
{
|
||||
return new GridLength(double.Parse(length.Substring(0, length.Length - 1)), GridUnitType.Star);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new GridLength(1, GridUnitType.Auto);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new GridLength(1, GridUnitType.Auto);
|
||||
}
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return DependencyProperty.UnsetValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user