using System; using System.Collections.Generic; using System.Collections.ObjectModel; 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; using SciChart.Charting.Visuals.Axes; using SciChart.Charting.Visuals.RenderableSeries; using SciChart.Core.Framework; using SciChart.Data.Model; namespace MECF.Framework.UI.Client.ClientBase.UserControls { /// /// DataViewChart.xaml 的交互逻辑 /// public partial class DataViewChart : UserControl { public DataViewChart() { InitializeComponent(); } #region Dependency Properties public static readonly DependencyProperty RenderableSeriesProperty = DependencyProperty.Register( "RenderableSeries", typeof(ObservableCollection), typeof(DataViewChart), new PropertyMetadata(default(ObservableCollection))); public ObservableCollection RenderableSeries { get => (ObservableCollection)GetValue(RenderableSeriesProperty); set => SetValue(RenderableSeriesProperty, value); } public static readonly DependencyProperty AutoRangeProperty = DependencyProperty.Register( "AutoRange", typeof(AutoRange), typeof(DataViewChart), new PropertyMetadata(default(AutoRange))); public AutoRange AutoRange { get => (AutoRange)GetValue(AutoRangeProperty); set => SetValue(AutoRangeProperty, value); } public static readonly DependencyProperty VisibleRangeTimeProperty = DependencyProperty.Register( "VisibleRangeTime", typeof(IRange), typeof(DataViewChart), new PropertyMetadata(default(IRange))); public IRange VisibleRangeTime { get => (IRange)GetValue(VisibleRangeTimeProperty); set => SetValue(VisibleRangeTimeProperty, value); } public static readonly DependencyProperty VisibleRangeValueProperty = DependencyProperty.Register( "VisibleRangeValue", typeof(IRange), typeof(DataViewChart), new PropertyMetadata(default(IRange))); public IRange VisibleRangeValue { get => (IRange)GetValue(VisibleRangeValueProperty); set => SetValue(VisibleRangeValueProperty, value); } public string Direction { get { return (string)GetValue(DirectionProperty); } set { SetValue(DirectionProperty, value); } } // Using a DependencyProperty as the backing store for Direction. This enables animation, styling, binding, etc... public static readonly DependencyProperty DirectionProperty = DependencyProperty.Register("Direction", typeof(string), typeof(DataViewChart), new PropertyMetadata("XYDirection")); #endregion #region Methods public void ZoomExtents() { sciChart.ZoomExtents(); } public IUpdateSuspender SuspendSuspendUpdates() { return sciChart.SuspendUpdates(); } #endregion #region Events private void BtnFixCurveToScreen_OnPreviewMouseUp(object sender, MouseButtonEventArgs e) { sciChart.ZoomExtents(); } #endregion } }