using System; using System.Collections.Generic; using System.ComponentModel; 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.Animation; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using RealTimeGraphEx; using RealTimeGraphEx.Controllers; using RealTimeGraphX; using RealTimeGraphX.WPF.DataSeries; namespace Tango.MachineStudio.Common.Controls { /// /// Interaction logic for RealTimeGraphControl.xaml /// public partial class RealTimeGraphControl : UserControl, IRealTimeGraph { #region Properties public String DisplayName { get { return (String)GetValue(DisplayNameProperty); } set { SetValue(DisplayNameProperty, value); } } public static readonly DependencyProperty DisplayNameProperty = DependencyProperty.Register("DisplayName", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null)); public String DisplayUnits { get { return (String)GetValue(DisplayUnitsProperty); } set { SetValue(DisplayUnitsProperty, value); } } public static readonly DependencyProperty DisplayUnitsProperty = DependencyProperty.Register("DisplayUnits", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata(null)); public String StringFormat { get { return (String)GetValue(StringFormatProperty); } set { SetValue(StringFormatProperty, value); } } public static readonly DependencyProperty StringFormatProperty = DependencyProperty.Register("StringFormat", typeof(String), typeof(RealTimeGraphControl), new PropertyMetadata("0.0")); public IGraphController Controller { get { return (IGraphController)GetValue(ControllerProperty); } set { SetValue(ControllerProperty, value); } } public static readonly DependencyProperty ControllerProperty = DependencyProperty.Register("Controller", typeof(IGraphController), typeof(RealTimeGraphControl), new PropertyMetadata(null,(d,e) => (d as RealTimeGraphControl).OnControllerChanged())); private void OnControllerChanged() { Controller.Output.Output.ConnectOutput(Graph); } #endregion public RealTimeGraphControl() { InitializeComponent(); } } }