MyScrollBar.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using System.Windows.Controls.Primitives;
  5. using System.Windows.Input;
  6. using Microsoft.VisualBasic.CompilerServices;
  7. namespace PCL
  8. {
  9. // Token: 0x020000A2 RID: 162
  10. public class MyScrollBar : ScrollBar
  11. {
  12. // Token: 0x060004D8 RID: 1240 RVA: 0x00029AF4 File Offset: 0x00027CF4
  13. public MyScrollBar()
  14. {
  15. base.IsEnabledChanged += delegate(object sender, DependencyPropertyChangedEventArgs e)
  16. {
  17. this.RefreshColor();
  18. };
  19. base.GotMouseCapture += delegate(object sender, MouseEventArgs e)
  20. {
  21. this.RefreshColor();
  22. };
  23. base.LostMouseCapture += delegate(object sender, MouseEventArgs e)
  24. {
  25. this.RefreshColor();
  26. };
  27. base.MouseEnter += delegate(object sender, MouseEventArgs e)
  28. {
  29. this.RefreshColor();
  30. };
  31. base.MouseLeave += delegate(object sender, MouseEventArgs e)
  32. {
  33. this.RefreshColor();
  34. };
  35. base.IsVisibleChanged += delegate(object sender, DependencyPropertyChangedEventArgs e)
  36. {
  37. this.RefreshColor();
  38. };
  39. this._CreatorBroadcaster = ModBase.GetUuid();
  40. }
  41. // Token: 0x060004D9 RID: 1241 RVA: 0x00029B80 File Offset: 0x00027D80
  42. private void RefreshColor()
  43. {
  44. try
  45. {
  46. double num;
  47. int time;
  48. string text;
  49. if (!base.IsVisible)
  50. {
  51. num = 0.0;
  52. time = 20;
  53. text = "ColorBrush4";
  54. }
  55. else if (base.IsMouseCaptureWithin)
  56. {
  57. num = 1.0;
  58. text = "ColorBrush4";
  59. time = 50;
  60. }
  61. else if (base.IsMouseOver)
  62. {
  63. num = 0.9;
  64. text = "ColorBrush3";
  65. time = 130;
  66. }
  67. else
  68. {
  69. num = 0.5;
  70. text = "ColorBrush4";
  71. time = 180;
  72. }
  73. if (base.IsLoaded && ModAnimation.CalcParser() == 0)
  74. {
  75. ModAnimation.AniStart(new ModAnimation.AniData[]
  76. {
  77. ModAnimation.AaColor(this, Control.ForegroundProperty, text, time, 0, null, false),
  78. ModAnimation.AaOpacity(this, num - base.Opacity, time, 0, null, false)
  79. }, "MyScrollBar Color " + Conversions.ToString(this._CreatorBroadcaster), false);
  80. }
  81. else
  82. {
  83. ModAnimation.AniStop("MyScrollBar Color " + Conversions.ToString(this._CreatorBroadcaster));
  84. base.SetResourceReference(Control.ForegroundProperty, text);
  85. base.Opacity = num;
  86. }
  87. }
  88. catch (Exception ex)
  89. {
  90. ModBase.Log(ex, "滚动条颜色改变出错", ModBase.LogLevel.Debug, "出现错误");
  91. }
  92. }
  93. // Token: 0x0400028C RID: 652
  94. public int _CreatorBroadcaster;
  95. }
  96. }