| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using System;
- using System.Globalization;
- using System.Linq;
- using System.Windows;
- using System.Windows.Data;
- namespace CustomUI.Converters
- {
- public class OffsetConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- if (values.FirstOrDefault(v => v == DependencyProperty.UnsetValue) != null)
- {
- return double.NaN;
- }
- double placementTargetWidth = (double)values[0];
- double toolTipWidth = (double)values[1];
- if("Center".Equals(parameter))
- {
- return (placementTargetWidth / 2.0) - (toolTipWidth / 2.0);
- }
- else if("Right".Equals(parameter))
- {
- return placementTargetWidth - toolTipWidth;
- }
- return 0;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- return null;
- }
- }
- }
|