功能更新
This commit is contained in:
27
Melskin/Converters/Internal/InverseOpacityConverter.cs
Normal file
27
Melskin/Converters/Internal/InverseOpacityConverter.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System.Globalization;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace Melskin.Converters.Internal;
|
||||
|
||||
// 返回 1.0 - 输入值,用于反向不透明度
|
||||
/// <summary>
|
||||
/// InverseOpacityConverter 类用于实现不透明度的反转转换。给定一个介于 0.0 到 1.0 之间的双精度浮点数值,该转换器将返回 1.0 减去输入值的结果,从而达到反向不透明度的效果。
|
||||
/// 此转换器特别适用于需要动态调整 UI 元素不透明度的应用场景中,比如在某些控件的状态切换时,改变背景或前景内容的可见性。
|
||||
/// </summary>
|
||||
internal class InverseOpacityConverter : IValueConverter
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取 InverseOpacityConverter 的唯一实例,用于在 XAML 或代码中直接引用以执行不透明度反转转换。
|
||||
/// 该属性提供了一个静态的、可重用的 InverseOpacityConverter 实例,避免了每次使用时都创建新的对象,
|
||||
/// 从而优化了性能。此实例特别适用于需要频繁调整 UI 元素不透明度的应用场景,如动态改变控件背景或前景内容的可见性。
|
||||
/// </summary>
|
||||
public static InverseOpacityConverter Instance { get; } = new();
|
||||
|
||||
/// <inheritdoc />
|
||||
public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => value is double d
|
||||
? 1.0 - d
|
||||
: 1.0;
|
||||
|
||||
/// <inheritdoc />
|
||||
public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => Binding.DoNothing;
|
||||
}
|
||||
Reference in New Issue
Block a user