using System;
using System.Windows;
using System.Windows.Controls;
using Aitex.UI.Charting.ViewModel;
namespace Aitex.UI.Charting.View
{
///
/// Interaction logic for DataSeriesEdit.xaml
///
public partial class DataSeriesEdit : UserControl
{
public DataSeriesEdit()
{
InitializeComponent();
dataGrid_DataList.CanUserAddRows = false;
dataGrid_DataList.CanUserAddRows = false;
Loaded += new RoutedEventHandler(DataSeriesEdit_Loaded);
}
void DataSeriesEdit_Loaded(object sender, RoutedEventArgs e)
{
_viewModel = new DataSeriesEditViewModel();
DataContext = _viewModel;
}
DataSeriesEditViewModel _viewModel;
#if false
private void dataGrid_DataConfig_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
dataGrid_DataList.Items.Refresh();
var cm = new System.Windows.Controls.ContextMenu();
this.dataGrid_DataList.ContextMenu = cm;
var mi = new MenuItem() { Header = "添加当前数据列表" };
//mi.Click += new RoutedEventHandler(Save_Data_Config_Click);
cm.Items.Add(mi);
mi = new MenuItem() { Header = "管理已存数据列表" };
//mi.Click += new RoutedEventHandler(Manager_Data_Config_Click);
cm.Items.Add(mi);
mi = new MenuItem() { Header = "删除所有选择的数据" };
mi.Click += (s1, e1) =>
{
_viewModel.CommonViewModel.RemoveDataSeries(null);
dataGrid_DataList.CancelEdit();
dataGrid_DataList.Items.Refresh();
};
cm.Items.Add(mi);
try
{
var fileName = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
fileName = fileName.Substring(0, fileName.LastIndexOf("\\")) + "\\charting.xml";
System.IO.FileInfo fi = new System.IO.FileInfo(fileName);
if (fi.Exists)
{
cm.Items.Add(new Separator());
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
foreach (XmlElement node in doc.SelectNodes("/Aitex/DataPreset/Data"))
{
var it = new MenuItem() { Header = "载入 " + node.Attributes["Name"].Value, Tag = node.Attributes["Name"].Value };
//it.Click += new RoutedEventHandler(Load_Data_Config_Click);
cm.Items.Add(it);
}
}
cm.Visibility = System.Windows.Visibility.Visible;
}
catch (Exception ex)
{
CONTEXT.WriteLog(ex);
}
}
#endif
private void OnRemoveChartingItem(object sender, RoutedEventArgs e)
{
string seriesId = (string)(sender as Button).Tag;
_viewModel.CommonViewModel.RemoveDataSeries(seriesId);
}
private void OnExportingData2File(object sender, RoutedEventArgs e)
{
string seriesId = (string)(sender as Button).Tag;
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = seriesId.Replace("/", "_").Replace(":", "_").Replace(" ", "_"); // Default file name
dlg.DefaultExt = ".csv"; // Default file extension
dlg.Filter = "Excel (.csv)|*.csv"; // Filter files by extension
// Show open file dialog box
Nullable result = dlg.ShowDialog();
if (result.HasValue && result.Value)
{
DataSeriesExportingDialog processDialog = new DataSeriesExportingDialog(seriesId, dlg.FileName) { Owner = Application.Current.MainWindow };
processDialog.Show();
}
}
private void OnChangeLineColor(object sender, RoutedEventArgs e)
{
var btn = (Button)sender;
if (btn != null)
{
string dataId = (string)btn.Tag;
var color = _viewModel.ChangeLineColorCommand();
if (color.HasValue)
{
var line = CommonViewModel.Instance.GetDataLineSeries(dataId);
if(line != null)
line.SeriesColor = color.Value;
}
}
}
private void OnChangeDrawingItemVisibility(object sender, RoutedEventArgs e)
{
var checkbox = (CheckBox)sender;
if (checkbox != null && checkbox.IsChecked.HasValue)
{
string dataId = (string)checkbox.Tag;
var line = CommonViewModel.Instance.GetDataLineSeries(dataId);
if (line != null)
line.IsVisible = checkbox.IsChecked.Value;
}
}
}
}