using FLY.Thick.Base.Client;
using FLY.Thick.Base.Common;
using FLY.Thick.Base.IService;
using MultiLayout.UiModule;
using FObjBase;
using LiveCharts;
using Misc;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
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 FLY.Thick.Base.UI;
using Unity;
namespace FLY.Thick.Base.UI.UiModule
{
///
/// FixGraph.xaml 的交互逻辑
///
public partial class FixGraph : UserControl
{
FixGraphViewModel viewModel;
FixGraphItemParam graphparam;
public FixGraph()
{
InitializeComponent();
}
[InjectionMethod]
public void Init(int id, IUnityContainer container,
IFixService fixService)
{
//查找参数
graphparam = FixGraphParams.Current.Items.Find(p => p.ID == id);
if (graphparam == null)
{
graphparam = new FixGraphItemParam() { ID = id };
FixGraphParams.Current.Items.Add(graphparam);
FixGraphParams.Current.Save();
}
//获取设备
viewModel = new FixGraphViewModel();
viewModel.Init(fixService, graphparam);
this.DataContext = viewModel;
}
private void Button_info_click(object sender, RoutedEventArgs e)
{
bool isPaused = viewModel.IsPaused;
if (!isPaused)
viewModel.IsPaused = true;
FixGraphConfig w = new FixGraphConfig();
w.Init(graphparam);
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
w.ShowDialog();
viewModel.IsPaused = isPaused;
}
private void button_pause_Click(object sender, RoutedEventArgs e)
{
viewModel.IsPaused = !viewModel.IsPaused;
}
private void button_save_Click(object sender, RoutedEventArgs e)
{
viewModel.PreSave();
WdSaveDatas w = new WdSaveDatas();
w.Init(viewModel);
w.ShowDialog();
}
private void button_analyze_Click(object sender, RoutedEventArgs e)
{
viewModel.GetDatas(out double intervalms, out List datas);
PgFixAnalyze p = new PgFixAnalyze();
p.Init(intervalms, datas);
MultiLayout.FlyLayoutManager.NavigationService.Navigate(p);
}
}
}