Sic10/SicUI/Controls/BodyBottom.xaml.cs

269 lines
10 KiB
C#
Raw Normal View History

2023-05-10 10:26:01 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace SicUI.Controls
{
/// <summary>
/// BodyBottom.xaml 的交互逻辑
/// </summary>
public partial class BodyBottom : UserControl
{
//private bool _isSectionDown = false;
//private bool _isSectionUp = false;
private bool _isRingDown = false;
//private bool _canMoveButton = false;
public BodyBottom()
{
InitializeComponent();
}
//public int SectionUpTime
//{
// get { return (int)GetValue(SectionUpTimeProperty); }
// set { SetValue(SectionUpTimeProperty, value); }
//}
//public static readonly DependencyProperty SectionUpTimeProperty = DependencyProperty.Register("SectionUpTime", typeof(int), typeof(BodyBottom), new FrameworkPropertyMetadata(5000));
//public int SwingTime
//{
// get { return (int)GetValue(SwingTimeProperty); }
// set { SetValue(SwingTimeProperty, value); }
//}
//public static readonly DependencyProperty SwingTimeProperty = DependencyProperty.Register("SwingTime", typeof(int), typeof(BodyBottom), new FrameworkPropertyMetadata(5000));
public int RingTime
{
get { return (int)GetValue(RingTimeProperty); }
set { SetValue(RingTimeProperty, value); }
}
public static readonly DependencyProperty RingTimeProperty = DependencyProperty.Register("RingTime", typeof(int), typeof(BodyBottom), new FrameworkPropertyMetadata(5000));
//public bool MovingSectionUp
//{
// get { return (Boolean)GetValue(MovingSectionUpProperty); }
// set { SetValue(MovingSectionUpProperty, value); }
//}
//public static readonly DependencyProperty MovingSectionUpProperty =
// DependencyProperty.Register("MovingSectionUp", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
//public bool MovingSectionDown
//{
// get { return (Boolean)GetValue(MovingSectionDownProperty); }
// set { SetValue(MovingSectionDownProperty, value); }
//}
//public static readonly DependencyProperty MovingSectionDownProperty =
// DependencyProperty.Register("MovingSectionDown", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
//public bool SectionUpFeedBack
//{
// get { return (Boolean)GetValue(SectionUpFeedBackProperty); }
// set { SetValue(SectionUpFeedBackProperty, value); }
//}
//public static readonly DependencyProperty SectionUpFeedBackProperty =
// DependencyProperty.Register("SectionUpFeedBack", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
//public bool SectionDownFeedBack
//{
// get { return (Boolean)GetValue(SectionDownFeedBackProperty); }
// set { SetValue(SectionDownFeedBackProperty, value); }
//}
//public static readonly DependencyProperty SectionDownFeedBackProperty =
// DependencyProperty.Register("SectionDownFeedBack", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
public bool MovingRingUp
{
get { return (Boolean)GetValue(MovingRingUpProperty); }
set { SetValue(MovingRingUpProperty, value); }
}
public static readonly DependencyProperty MovingRingUpProperty =
DependencyProperty.Register("MovingRingUp", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
public bool MovingRingDown
{
get { return (Boolean)GetValue(MovingRingDownProperty); }
set { SetValue(MovingRingDownProperty, value); }
}
public static readonly DependencyProperty MovingRingDownProperty =
DependencyProperty.Register("MovingRingDown", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
public bool RingUpFeedBack
{
get { return (Boolean)GetValue(RingUpFeedBackProperty); }
set { SetValue(RingUpFeedBackProperty, value); }
}
public static readonly DependencyProperty RingUpFeedBackProperty =
DependencyProperty.Register("RingUpFeedBack", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
public bool RingDownFeedBack
{
get { return (Boolean)GetValue(RingDownFeedBackProperty); }
set { SetValue(RingDownFeedBackProperty, value); }
}
public static readonly DependencyProperty RingDownFeedBackProperty =
DependencyProperty.Register("RingDownFeedBack", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
//public bool TightenBotton
//{
// get { return (Boolean)GetValue(TightenBottonProperty); }
// set { SetValue(TightenBottonProperty, value); }
//}
//public static readonly DependencyProperty TightenBottonProperty =
// DependencyProperty.Register("TightenBotton", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
//public bool SwingLockBotton
//{
// get { return (Boolean)GetValue(SwingLockBottonProperty); }
// set { SetValue(SwingLockBottonProperty, value); }
//}
//public static readonly DependencyProperty SwingLockBottonProperty =
// DependencyProperty.Register("SwingLockBotton", typeof(bool), typeof(BodyBottom), new FrameworkPropertyMetadata(default(bool), FrameworkPropertyMetadataOptions.AffectsRender));
protected override void OnRender(DrawingContext drawingContext)
{
base.OnRender(drawingContext);
//初始位置
//if (_isSectionDown != SectionDownFeedBack || _isSectionUp != SectionUpFeedBack)
//{
// _isSectionUp = SectionUpFeedBack;
// _isSectionDown = SectionDownFeedBack;
// Dispatcher.Invoke(() => MoveSectionDown(SectionDownFeedBack, 0));
//}
if (_isRingDown != MovingRingDown)
{
Dispatcher.Invoke(() => MoveRingDown(true, 0));
}
//SetPicVisble();
//SetBodyImage();
//按钮移动
//if (MovingSectionUp && _canMoveButton && SectionDownFeedBack)
//{
// Dispatcher.Invoke(() => MoveSectionDown(false, SectionUpTime));
//}
//else if (MovingSectionDown && _canMoveButton && SectionUpFeedBack)
//{
// Dispatcher.Invoke(() => MoveSectionDown(true, SectionUpTime));
//}
if (MovingRingDown && RingUpFeedBack)
{
Dispatcher.Invoke(() => MoveRingDown(true, RingTime));
}
else if (MovingRingUp && RingDownFeedBack)
{
Dispatcher.Invoke(() => MoveRingDown(false, RingTime));
}
}
//private void SetPicVisble()
//{
// if (TightenBotton)
// {
// PicBL.Visibility = Visibility.Visible;
// PicBR.Visibility = Visibility.Visible;
// }
// else
// {
// PicBL.Visibility = Visibility.Collapsed;
// PicBR.Visibility = Visibility.Collapsed;
// }
//}
//private void SetBodyImage()
//{
// if (!TightenBotton && !SwingLockBotton)
// {
// this.PicBottom.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/Bottom2.png"));
// this.PicB21.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/bottom4f.png"));
// this.PicB22.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/bottom4f.png"));
// _canMoveButton = true;
// }
// else
// {
// this.PicBottom.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/Bottom.png"));
// this.PicB21.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/bottom4.png"));
// this.PicB22.Source = new BitmapImage(new Uri("pack://application:,,,/SicUI;component/Themes/Images/parts/bodymove/bottom4.png"));
// _canMoveButton = false;
// }
//}
//private void MoveSectionDown(bool down,int time, Action onComplete = null)
//{
// this.canvasButtom.Stop();
// int orgYPoint = 0;
// int desYPoint = 0;
// if (down)
// {
// orgYPoint = 0;
// desYPoint = 30;
// }
// else
// {
// orgYPoint = 30;
// desYPoint = 0;
// }
// this.canvasButtom.MoveToUpDown(orgYPoint, desYPoint, time,onComplete);
//}
private void MoveRingDown(bool down, int time, Action onComplete = null)
{
this.canvasRing.Stop();
this.canvasRing2.Stop();
int orgYPoint = 0;
int desYPoint = 0;
if (down)
{
orgYPoint = 0;
desYPoint = 18;
}
else
{
orgYPoint = 18;
desYPoint = 0;
}
this.canvasRing.MoveToUpDown(orgYPoint, desYPoint, time, onComplete);
this.canvasRing2.MoveToUpDown(orgYPoint, desYPoint, time, onComplete);
}
}
}