Blame view

sources/RoboforkApp/UserControls/ucDisplayCoordinate.xaml.cs 1.88 KB
729be9a6d   doan   New Project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
  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 RoboforkApp
  {
      /// <summary>
      /// Interaction logic for ucDisplayAxisPosition.xaml
      /// </summary>
      public partial class ucDisplayCoordinate : UserControl
      {
          public ucDisplayCoordinate()
          {
              InitializeComponent();
          }
  
          private bool _isDisplay = false;
  
          public static readonly DependencyProperty coordStringProperty =
          DependencyProperty.Register("coordString", typeof(String),
          typeof(ucDisplayCoordinate), new FrameworkPropertyMetadata(string.Empty));
  
          public String coordString
          {
              get { return GetValue(coordStringProperty).ToString(); }
              set { SetValue(coordStringProperty, value); }
          }
  
          public bool IsDisplay
          {
              get { return _isDisplay; }
              set { _isDisplay = value; }
          }
  
          private void UpdateCoordString(double X, double Y)
          {
              coordString = "(" + Math.Round(X, 2) + ", " + Math.Round(Y, 2) + ")";
          }
  
          private void UpdateCoordString(Point point)
          {
              coordString = "(" + Math.Round(point.X, 2) + ", " + Math.Round(point.Y, 2) + ")";
          }
  
          private void UpdatePosition(Point point)
          {
              Canvas.SetTop(this, point.Y + 10);
              Canvas.SetLeft(this, point.X + 10);
  
              UpdateCoordString(point);
          }
  
          // Display
          public void Display(Point point)
          {
              IsDisplay = true;
              UpdatePosition(point);
          }
      }
  }