功能更新
This commit is contained in:
33
Melskin/Converters/DivideByTwoConverter.cs
Normal file
33
Melskin/Converters/DivideByTwoConverter.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Melskin.Converters;
|
||||
|
||||
/// <summary>
|
||||
/// 该转换器用于将输入值除以2。主要用于在XAML中绑定时处理数值,特别是当需要将某个元素的高度或其他尺寸属性减半时。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 此转换器实现了IValueConverter接口,提供了一个静态实例以便于在XAML中直接引用。
|
||||
/// 它接受一个double类型的值作为输入,并返回该值的一半;如果输入不是double类型,则返回0。
|
||||
/// 转换回方法未实现(抛出NotImplementedException),因为通常不需要逆向操作。
|
||||
/// </remarks>
|
||||
public class DivideByTwoConverter : IValueConverter
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取单例实例的 DivideByTwoConverter,用于将输入值除以2。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 该属性提供了一个静态的 DivideByTwoConverter 实例,可以在需要进行数值除以2转换的地方直接引用。
|
||||
/// 主要应用于WPF绑定中的值转换场景,例如在XAML中设置元素的CornerRadius时,可以使用此转换器来动态调整角的半径。
|
||||
/// 注意:此转换器仅支持从double类型到double类型的转换,并且不支持逆向转换。
|
||||
/// </remarks>
|
||||
public static DivideByTwoConverter Instance { get; } = new();
|
||||
|
||||
/// <inheritdoc />
|
||||
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => value is double d
|
||||
? d / 2.0
|
||||
: 0;
|
||||
|
||||
/// <inheritdoc />
|
||||
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => Binding.DoNothing;
|
||||
}
|
||||
Reference in New Issue
Block a user