using RealTimeGraphX; 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 Tango.MachineStudio.Common.Controls { public class WpfGraphControl : Control { /// /// Gets or sets the graph controller. /// public IGraphController Controller { get { return (IGraphController)GetValue(ControllerProperty); } set { SetValue(ControllerProperty, value); } } public static readonly DependencyProperty ControllerProperty = DependencyProperty.Register("Controller", typeof(IGraphController), typeof(WpfGraphControl), new PropertyMetadata(null)); /// /// Gets or sets the string format of the y-axis. /// public String StringFormat { get { return (String)GetValue(StringFormatProperty); } set { SetValue(StringFormatProperty, value); } } public static readonly DependencyProperty StringFormatProperty = DependencyProperty.Register("StringFormat", typeof(String), typeof(WpfGraphControl), new PropertyMetadata("0.0")); /// /// Gets or sets the display name. /// public String DisplayName { get { return (String)GetValue(DisplayNameProperty); } set { SetValue(DisplayNameProperty, value); } } public static readonly DependencyProperty DisplayNameProperty = DependencyProperty.Register("DisplayName", typeof(String), typeof(WpfGraphControl), new PropertyMetadata(null)); /// /// Gets or sets the display units. /// public String DisplayUnits { get { return (String)GetValue(DisplayUnitsProperty); } set { SetValue(DisplayUnitsProperty, value); } } public static readonly DependencyProperty DisplayUnitsProperty = DependencyProperty.Register("DisplayUnits", typeof(String), typeof(WpfGraphControl), new PropertyMetadata(null)); /// /// Gets or sets the graph label visibility. /// public Visibility GraphLabelVisibility { get { return (Visibility)GetValue(GraphLabelVisibilityProperty); } set { SetValue(GraphLabelVisibilityProperty, value); } } public static readonly DependencyProperty GraphLabelVisibilityProperty = DependencyProperty.Register("GraphLabelVisibility", typeof(Visibility), typeof(WpfGraphControl), new PropertyMetadata(Visibility.Visible)); /// /// Initializes the class. /// static WpfGraphControl() { DefaultStyleKeyProperty.OverrideMetadata(typeof(WpfGraphControl), new FrameworkPropertyMetadata(typeof(WpfGraphControl))); } } }