2023-12-18 09:31:28 +00:00
|
|
|
|
using _20230724_MBJC_upperpc.Models;
|
|
|
|
|
|
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 _20230724_MBJC_upperpc.Views
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// FirstPageBuoyControl.xaml 的交互逻辑
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public partial class FirstPageBuoyControl : UserControl
|
|
|
|
|
|
{
|
2023-12-20 09:58:16 +00:00
|
|
|
|
//字体颜色
|
|
|
|
|
|
public Brush Text_Color
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (Brush)GetValue(Text_ColorProperty); }
|
|
|
|
|
|
set { SetValue(Text_ColorProperty, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Using a DependencyProperty as the backing store for _color. This enables animation, styling, binding, etc...
|
|
|
|
|
|
public static readonly DependencyProperty Text_ColorProperty =
|
|
|
|
|
|
DependencyProperty.Register("Text_Color", typeof(Brush), typeof(FirstPageBuoyControl), new PropertyMetadata(default(Brush), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
|
|
|
|
|
///<summary>
|
|
|
|
|
|
/// Beacon
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public BeaconModel Beacon
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (BeaconModel)this.GetValue(BeaconProperty); }
|
|
|
|
|
|
set { this.SetValue(BeaconProperty, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static readonly DependencyProperty BeaconProperty = DependencyProperty.Register("Beacon", typeof(BeaconModel), typeof(FirstPageBuoyControl), new PropertyMetadata(default(BeaconModel), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 是否可以使用鼠标跟随
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public bool TBDEnable
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (bool)this.GetValue(TBDEnableProperty); }
|
|
|
|
|
|
set { this.SetValue(TBDEnableProperty, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static readonly DependencyProperty TBDEnableProperty = DependencyProperty.Register("TBDEnable", typeof(bool), typeof(FirstPageBuoyControl), new PropertyMetadata(default(bool), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
2024-01-17 01:24:32 +00:00
|
|
|
|
public static readonly RoutedEvent ButtonClickEvent = EventManager.RegisterRoutedEvent(
|
|
|
|
|
|
"ButtonClick",
|
|
|
|
|
|
RoutingStrategy.Bubble,
|
|
|
|
|
|
typeof(RoutedEventHandler),
|
|
|
|
|
|
typeof(FirstPageBuoyControl));
|
|
|
|
|
|
|
|
|
|
|
|
public event RoutedEventHandler ButtonClick
|
|
|
|
|
|
{
|
|
|
|
|
|
add { AddHandler(ButtonClickEvent, value); }
|
|
|
|
|
|
remove { RemoveHandler(ButtonClickEvent, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnButtonClick(object sender, RoutedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
RaiseEvent(new RoutedEventArgs(ButtonClickEvent, this));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-12-20 09:58:16 +00:00
|
|
|
|
#region
|
2023-12-18 09:31:28 +00:00
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 俯仰角
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public float Rotate_X
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(Rotate_XProperty); }
|
|
|
|
|
|
// set { this.SetValue(Rotate_XProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//public static readonly DependencyProperty Rotate_XProperty = DependencyProperty.Register("Rotate_X", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 偏航角
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public float Rotate_Y
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(Rotate_YProperty); }
|
|
|
|
|
|
// set { this.SetValue(Rotate_YProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 翻滚角
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public static readonly DependencyProperty Rotate_YProperty = DependencyProperty.Register("Rotate_Y", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
|
|
|
|
|
//public float Rotate_Z
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(Rotate_ZProperty); }
|
|
|
|
|
|
// set { this.SetValue(Rotate_ZProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//public static readonly DependencyProperty Rotate_ZProperty = DependencyProperty.Register("Rotate_Z", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 经度
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public float JD
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(JDProperty); }
|
|
|
|
|
|
// set { this.SetValue(JDProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//public static readonly DependencyProperty JDProperty = DependencyProperty.Register("JD", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 纬度
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public float WD
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(WDProperty); }
|
|
|
|
|
|
// set { this.SetValue(WDProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//public static readonly DependencyProperty WDProperty = DependencyProperty.Register("WD", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// 深度
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
//public float SD
|
|
|
|
|
|
//{
|
|
|
|
|
|
// get { return (float)this.GetValue(SDProperty); }
|
|
|
|
|
|
// set { this.SetValue(SDProperty, value); }
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
//public static readonly DependencyProperty SDProperty = DependencyProperty.Register("SD", typeof(float), typeof(FirstPageBuoyControl), new PropertyMetadata(default(float), new PropertyChangedCallback(OnPropertyChanged)));
|
2023-12-20 09:58:16 +00:00
|
|
|
|
#endregion
|
2023-12-18 09:31:28 +00:00
|
|
|
|
public static void OnPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
(d as FirstPageBuoyControl).Refresh();
|
|
|
|
|
|
}
|
|
|
|
|
|
public FirstPageBuoyControl()
|
|
|
|
|
|
{
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void Refresh()
|
|
|
|
|
|
{
|
2023-12-20 09:58:16 +00:00
|
|
|
|
//将其余值进行赋值
|
2023-12-18 09:31:28 +00:00
|
|
|
|
if (Beacon != null)
|
|
|
|
|
|
{
|
2024-02-20 00:59:05 +00:00
|
|
|
|
this.BuoyModel.Rotate_X = Beacon.Ralative_Heading_Angle;
|
|
|
|
|
|
this.BuoyModel.Rotate_Y = Beacon.Ralative_Pitch_Angle;
|
2023-12-18 09:31:28 +00:00
|
|
|
|
this.BuoyModel.Rotate_Z = Beacon.BasicSite_Heading;
|
|
|
|
|
|
|
|
|
|
|
|
this.TextJD.Text = Beacon.BasicSite_JD + "°";
|
|
|
|
|
|
this.TextWD.Text = Beacon.BasicSite_WD + "°";
|
|
|
|
|
|
this.TextSD.Text = Beacon.BasicSite_Depth + "米";
|
|
|
|
|
|
}
|
2023-12-20 09:58:16 +00:00
|
|
|
|
//是否可以使用鼠标跟随
|
|
|
|
|
|
this.BuoyModel.TBDEnable = TBDEnable;
|
|
|
|
|
|
//设置字体颜色和字体大小
|
|
|
|
|
|
this.TextJD.Foreground = this.Text_Color;
|
2023-12-18 09:31:28 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|