Tôi muốn chuyển đổi độ mờ của điều khiển (Nút, Hộp văn bản, Bảng điều khiển, v.v.) trong dự án WPF của tôi và muốn kiểm tra xem tôi đã thực hiện đúng chưa.Làm mờ bất kỳ điều khiển nào bằng cách sử dụng hoạt ảnh WPF
Câu hỏi của tôi là: Đây có phải là loại chức năng bạn thường viết trong XAML hay bạn sẽ sử dụng mã tương tự như dưới đây để đạt được kết quả mờ dần/mờ dần?
internal static class AnimationExtensions
{
internal enum TransitionSpeed
{
Instant = 0,
Fast = 100,
Normal = 200,
Slow = 500
}
/// <summary>
/// Toggles the opacity of a control.
/// </summary>
/// <param name="control">The control.</param>
internal static void ToggleControlFade(this Control control)
{
control.ToggleControlFade(TransitionSpeed.Normal);
}
/// <summary>
/// Toggles the opacity of a control.
/// </summary>
/// <param name="control">The control.</param>
/// <param name="speed">The speed.</param>
internal static void ToggleControlFade(this Control control, TransitionSpeed speed)
{
Storyboard storyboard = new Storyboard();
TimeSpan duration = new TimeSpan(0, 0, 0, 0, (int)speed); //
DoubleAnimation animation = new DoubleAnimation { From = 1.0, To = 0.0, Duration = new Duration(duration) };
if (control.Opacity == 0.0)
{
animation = new DoubleAnimation { From = 0.0, To = 1.0, Duration = new Duration(duration) };
}
Storyboard.SetTargetName(animation, control.Name);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity", 0));
storyboard.Children.Add(animation);
storyboard.Begin(control);
}
}
Như bạn có thể nói rất, rất mới đối với WPF.
Cảm ơn