using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Practices.Prism.ViewModel;
using System.ServiceModel.DomainServices.Client;
using Microsoft.Practices.Prism.Commands;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Data;
using System.ComponentModel;
using System.Text;
using System.Windows.Markup;
using SDSUCCEEDKJ24.ViewModels.Anchor;
namespace SDSUCCEEDKJ24.ViewModels
{
public class AnchorHistoryDataVM : NotificationObject
{
#region Property
private DateTime m_StartTime = DateTime.Today.AddDays(-5);
public DateTime StartTime
{
get { return m_StartTime; }
set
{
m_StartTime = value;
this.RaisePropertyChanged("StartTime");
}
}
private DateTime m_EndTime = DateTime.Today.AddDays(1);
public DateTime EndTime
{
get { return m_EndTime; }
set
{
m_EndTime = value;
this.RaisePropertyChanged("EndTime");
}
}
//private EntitySet<SensorView> m_SensorList;
//public EntitySet<SensorView> SensorList
//{
// get { return m_SensorList; }
// set
// {
// m_SensorList = value;
// this.RaisePropertyChanged("SensorList");
// }
//}
//private SensorView m_SelectedSensor;
//public SensorView SelectedSensor
//{
// get { return m_SelectedSensor; }
// set
// {
// m_SelectedSensor = value;
// this.RaisePropertyChanged("SelectedSensor");
// }
//}
private Visibility m_DataShowRadioButtonVisibility = Visibility.Collapsed;
public Visibility DataShowRadioButtonVisibility
{
get { return m_DataShowRadioButtonVisibility; }
set
{
m_DataShowRadioButtonVisibility = value;
this.RaisePropertyChanged("DataShowRadioButtonVisibility");
}
}
private Visibility m_ImageShowRadioButtonVisibility = Visibility.Collapsed;
public Visibility ImageShowRadioButtonVisibility
{
get { return m_ImageShowRadioButtonVisibility; }
set
{
m_ImageShowRadioButtonVisibility = value;
this.RaisePropertyChanged("ImageShowRadioButtonVisibility");
}
}
private Visibility m_LowBrushVisibility;
public Visibility LowBrushVisibility
{
get { return m_LowBrushVisibility; }
set
{
m_LowBrushVisibility = value;
this.RaisePropertyChanged("LowBrushVisibility");
}
}
private Visibility m_SecondHighBrusVisibility;
public Visibility SecondHighBrusVisibility
{
get { return m_SecondHighBrusVisibility; }
set
{
m_SecondHighBrusVisibility = value;
this.RaisePropertyChanged("SecondHighBrusVisibility");
}
}
private string m_ShowTitle;
public string ShowTitle
{
get { return m_ShowTitle; }
set
{
m_ShowTitle = value;
this.RaisePropertyChanged("ShowTitle");
}
}
private string m_MonitorID_str;
public string MonitorID_str
{
get { return m_MonitorID_str; }
set
{
m_MonitorID_str = value;
this.RaisePropertyChanged("MonitorID_str");
}
}
#endregion
#region Field
// private MineMonitoringSystemDomainContext m_db = new MineMonitoringSystemDomainContext();
private System.Windows.Controls.DataGrid m_DataGrid;
private DomainDataSource m_DomainDataSource;
#endregion
public DelegateCommand SelectionChangedCommand { get; set; }
public AnchorHistoryDataVM(DataGrid dataGrid, DomainDataSource domainDataSource)
{
SelectionChangedCommand = new DelegateCommand(() =>
{
AddColumns();
});
// m_db.Load(m_db.GetSensorViewListByTypeQuery(1)).Completed += new EventHandler(BoreHistoryDataVM_Completed);
LowBrushVisibility = Visibility.Visible;
SecondHighBrusVisibility = Visibility.Visible;
ShowTitle = "锚杆索应力历史数据列表";
MonitorID_str = "锚杆索编号:";
m_DataGrid = dataGrid;
m_DomainDataSource = domainDataSource;
// m_DomainDataSource.QueryName = "GetAnchorBoltSensorHistoryDataViewByQuery";
}
void BoreHistoryDataVM_Completed(object sender, EventArgs e)
{
//SensorList = m_db.SensorViews;
//if (SensorList != null && SensorList.Count > 0)
//{
// SelectedSensor = SensorList.FirstOrDefault();
//}
}
#region 创建拼接DataGridTemplateColumn
internal static DataGridTemplateColumn GetGridViewColumn(string header, string element)
{
DataGridTemplateColumn tempCol = new DataGridTemplateColumn();
tempCol.Header = header;
StringBuilder cellTemp = new StringBuilder();
cellTemp.Append("<DataTemplate ");
cellTemp.Append(" xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'");//和前台界面上的一致
cellTemp.Append(" xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'");
cellTemp.Append(" xmlns:local = 'clr-namespace:SDSUCCEEDKJ24.Converters");
cellTemp.Append(";assembly=SDSUCCEEDKJ24'>");//程序集名称
cellTemp.Append("<Grid>");
cellTemp.Append("<Grid.Resources>");
cellTemp.Append("<local:BoreWarningValueToForegroundConverter x:Key='ForegroundChangedByWarningValueKey' />");
cellTemp.Append("</Grid.Resources>");
cellTemp.Append(element);
cellTemp.Append("</Grid>");
cellTemp.Append("</DataTemplate>");
//string s = cellTemp.ToString();
tempCol.CellTemplate = (DataTemplate)XamlReader.Load(cellTemp.ToString());
return tempCol;
}
#endregion
#region 根据传感器动态修改datagri的列,通道信息显示
public void AddColumns()
{
//int ColumnNum = m_DataGrid.Columns.Count;
//if (ColumnNum > 3)
//{
// for (int a = ColumnNum; a > 3; a--)
// {
// m_DataGrid.Columns.RemoveAt(a-1);
// }
//}
//String[] strList = new String[4];
//strList[0] = SelectedSensor.Depth1.ToString();
//strList[1] = SelectedSensor.Depth2.ToString();
//strList[2] = SelectedSensor.Depth3.ToString();
//strList[3] = SelectedSensor.Depth4.ToString();
//if (SelectedSensor != null)
//{
// for (int i = 1; i <= SelectedSensor.ChannelNum; i++)
// {
// m_DataGrid.Columns.Add(GetGridViewColumn("通道" + i + "", " <TextBlock Text=\"{Binding Path=Value" + i + "}\" FontWeight=\"Bold\" Foreground=\"{Binding WarningValueArray" + i + ",Converter={StaticResource ForegroundChangedByWarningValueKey}}\" Style=\"{StaticResource DataGridTextBlockCentered}\" />"));
// }
//}
}
#endregion
}
}
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Practices.Prism.ViewModel;
using System.ServiceModel.DomainServices.Client;
using Microsoft.Practices.Prism.Commands;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Data;
using System.ComponentModel;
using System.Text;
using System.Windows.Markup;
using SDSUCCEEDKJ24.ViewModels.Anchor;
namespace SDSUCCEEDKJ24.ViewModels
{
public class AnchorHistoryDataVM : NotificationObject
{
#region Property
private DateTime m_StartTime = DateTime.Today.AddDays(-5);
public DateTime StartTime
{
get { return m_StartTime; }
set
{
m_StartTime = value;
this.RaisePropertyChanged("StartTime");
}
}
private DateTime m_EndTime = DateTime.Today.AddDays(1);
public DateTime EndTime
{
get { return m_EndTime; }
set
{
m_EndTime = value;
this.RaisePropertyChanged("EndTime");
}
}
//private EntitySet<SensorView> m_SensorList;
//public EntitySet<SensorView> SensorList
//{
// get { return m_SensorList; }
// set
// {
// m_SensorList = value;
// this.RaisePropertyChanged("SensorList");
// }
//}
//private SensorView m_SelectedSensor;
//public SensorView SelectedSensor
//{
// get { return m_SelectedSensor; }
// set
// {
// m_SelectedSensor = value;
// this.RaisePropertyChanged("SelectedSensor");
// }
//}
private Visibility m_DataShowRadioButtonVisibility = Visibility.Collapsed;
public Visibility DataShowRadioButtonVisibility
{
get { return m_DataShowRadioButtonVisibility; }
set
{
m_DataShowRadioButtonVisibility = value;
this.RaisePropertyChanged("DataShowRadioButtonVisibility");
}
}
private Visibility m_ImageShowRadioButtonVisibility = Visibility.Collapsed;
public Visibility ImageShowRadioButtonVisibility
{
get { return m_ImageShowRadioButtonVisibility; }
set
{
m_ImageShowRadioButtonVisibility = value;
this.RaisePropertyChanged("ImageShowRadioButtonVisibility");
}
}
private Visibility m_LowBrushVisibility;
public Visibility LowBrushVisibility
{
get { return m_LowBrushVisibility; }
set
{
m_LowBrushVisibility = value;
this.RaisePropertyChanged("LowBrushVisibility");
}
}
private Visibility m_SecondHighBrusVisibility;
public Visibility SecondHighBrusVisibility
{
get { return m_SecondHighBrusVisibility; }
set
{
m_SecondHighBrusVisibility = value;
this.RaisePropertyChanged("SecondHighBrusVisibility");
}
}
private string m_ShowTitle;
public string ShowTitle
{
get { return m_ShowTitle; }
set
{
m_ShowTitle = value;
this.RaisePropertyChanged("ShowTitle");
}
}
private string m_MonitorID_str;
public string MonitorID_str
{
get { return m_MonitorID_str; }
set
{
m_MonitorID_str = value;
this.RaisePropertyChanged("MonitorID_str");
}
}
#endregion
#region Field
// private MineMonitoringSystemDomainContext m_db = new MineMonitoringSystemDomainContext();
private System.Windows.Controls.DataGrid m_DataGrid;
private DomainDataSource m_DomainDataSource;
#endregion
public DelegateCommand SelectionChangedCommand { get; set; }
public AnchorHistoryDataVM(DataGrid dataGrid, DomainDataSource domainDataSource)
{
SelectionChangedCommand = new DelegateCommand(() =>
{
AddColumns();
});
// m_db.Load(m_db.GetSensorViewListByTypeQuery(1)).Completed += new EventHandler(BoreHistoryDataVM_Completed);
LowBrushVisibility = Visibility.Visible;
SecondHighBrusVisibility = Visibility.Visible;
ShowTitle = "锚杆索应力历史数据列表";
MonitorID_str = "锚杆索编号:";
m_DataGrid = dataGrid;
m_DomainDataSource = domainDataSource;
// m_DomainDataSource.QueryName = "GetAnchorBoltSensorHistoryDataViewByQuery";
}
void BoreHistoryDataVM_Completed(object sender, EventArgs e)
{
//SensorList = m_db.SensorViews;
//if (SensorList != null && SensorList.Count > 0)
//{
// SelectedSensor = SensorList.FirstOrDefault();
//}
}
#region 创建拼接DataGridTemplateColumn
internal static DataGridTemplateColumn GetGridViewColumn(string header, string element)
{
DataGridTemplateColumn tempCol = new DataGridTemplateColumn();
tempCol.Header = header;
StringBuilder cellTemp = new StringBuilder();
cellTemp.Append("<DataTemplate ");
cellTemp.Append(" xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'");//和前台界面上的一致
cellTemp.Append(" xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'");
cellTemp.Append(" xmlns:local = 'clr-namespace:SDSUCCEEDKJ24.Converters");
cellTemp.Append(";assembly=SDSUCCEEDKJ24'>");//程序集名称
cellTemp.Append("<Grid>");
cellTemp.Append("<Grid.Resources>");
cellTemp.Append("<local:BoreWarningValueToForegroundConverter x:Key='ForegroundChangedByWarningValueKey' />");
cellTemp.Append("</Grid.Resources>");
cellTemp.Append(element);
cellTemp.Append("</Grid>");
cellTemp.Append("</DataTemplate>");
//string s = cellTemp.ToString();
tempCol.CellTemplate = (DataTemplate)XamlReader.Load(cellTemp.ToString());
return tempCol;
}
#endregion
#region 根据传感器动态修改datagri的列,通道信息显示
public void AddColumns()
{
//int ColumnNum = m_DataGrid.Columns.Count;
//if (ColumnNum > 3)
//{
// for (int a = ColumnNum; a > 3; a--)
// {
// m_DataGrid.Columns.RemoveAt(a-1);
// }
//}
//String[] strList = new String[4];
//strList[0] = SelectedSensor.Depth1.ToString();
//strList[1] = SelectedSensor.Depth2.ToString();
//strList[2] = SelectedSensor.Depth3.ToString();
//strList[3] = SelectedSensor.Depth4.ToString();
//if (SelectedSensor != null)
//{
// for (int i = 1; i <= SelectedSensor.ChannelNum; i++)
// {
// m_DataGrid.Columns.Add(GetGridViewColumn("通道" + i + "", " <TextBlock Text=\"{Binding Path=Value" + i + "}\" FontWeight=\"Bold\" Foreground=\"{Binding WarningValueArray" + i + ",Converter={StaticResource ForegroundChangedByWarningValueKey}}\" Style=\"{StaticResource DataGridTextBlockCentered}\" />"));
// }
//}
}
#endregion
}
}