CAN 配置和报文记录的功能
This commit is contained in:
@@ -22,7 +22,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Documents;
|
||||
|
||||
namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
@@ -135,8 +135,6 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
|
||||
|
||||
//CanLinConfigPromdCmd
|
||||
|
||||
private DelegateCommand<string> _CanLinConfigPromdCmd;
|
||||
/// <summary>
|
||||
/// CanConfigPro操作的指令
|
||||
@@ -254,7 +252,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -281,7 +279,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
|
||||
@@ -289,11 +287,16 @@ namespace CapMachine.Wpf.ViewModels
|
||||
case "Active":
|
||||
if (SelectCanLinConfigPro != null)
|
||||
{
|
||||
//控件的激活
|
||||
IsCanConfigProActive = !IsCanConfigProActive;
|
||||
|
||||
//当前使用的CAN 配置信息
|
||||
CanDriveService.InitCanConfig(SelectCanLinConfigPro);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -385,6 +388,55 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
|
||||
|
||||
private DelegateCommand<object> _CanConfigProGridPreviewMouseLeftButtonDownCmd;
|
||||
/// <summary>
|
||||
/// CAN 配置程序 选中行之前的数据命令 Preview
|
||||
/// 防止CAN 打开后没有关闭就开始切换CAN 配置程序信息
|
||||
/// 要关闭后再切换
|
||||
/// </summary>
|
||||
public DelegateCommand<object> CanConfigProGridPreviewMouseLeftButtonDownCmd
|
||||
{
|
||||
set
|
||||
{
|
||||
_CanConfigProGridPreviewMouseLeftButtonDownCmd = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
if (_CanConfigProGridPreviewMouseLeftButtonDownCmd == null)
|
||||
{
|
||||
_CanConfigProGridPreviewMouseLeftButtonDownCmd = new DelegateCommand<object>((par) => CanConfigProGridPreviewMouseLeftButtonDownCmdMethod(par));
|
||||
}
|
||||
return _CanConfigProGridPreviewMouseLeftButtonDownCmd;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 防止CAN 打开后没有关闭就开始切换CAN 配置程序信息
|
||||
/// 要关闭后再切换
|
||||
/// </summary>
|
||||
/// <param name="par"></param>
|
||||
private void CanConfigProGridPreviewMouseLeftButtonDownCmdMethod(object par)
|
||||
{
|
||||
if (par == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (par is System.Windows.Input.MouseButtonEventArgs)
|
||||
{
|
||||
var handler = par as System.Windows.Input.MouseButtonEventArgs;
|
||||
|
||||
if (!CanDriveService.ToomossCanDrive.OpenState)
|
||||
{
|
||||
// 防止默认的行选择行为发生
|
||||
handler.Handled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Windows.MessageBox.Show("关闭CAN连接后再点击切换CAN配置", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
handler.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -454,7 +506,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
|
||||
@@ -464,7 +516,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("可能未选择信息", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("可能未选择信息", "提示", System.Windows.MessageBoxButton.OKCancel, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -504,6 +556,12 @@ namespace CapMachine.Wpf.ViewModels
|
||||
SelectedCanDbcModel = par as CanDbcModel;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if ((par as SelectionChangedEventArgs)!.AddedItems[0] == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//先判断是否是正确的集合数据,防止DataGrid的数据源刷新导致的触发事件
|
||||
var Selecteddata = (par as SelectionChangedEventArgs)!.AddedItems[0] as CanDbcModel;
|
||||
|
||||
@@ -593,8 +651,6 @@ namespace CapMachine.Wpf.ViewModels
|
||||
set { _SelectedCANConfigExdDto = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
private DelegateCommand<string> _CanOpCmd;
|
||||
/// <summary>
|
||||
/// CAN操作的指令
|
||||
@@ -625,13 +681,22 @@ namespace CapMachine.Wpf.ViewModels
|
||||
case "Open":
|
||||
if (SelectCanLinConfigPro != null && SelectedCANConfigExdDto != null)
|
||||
{
|
||||
|
||||
//打开连接
|
||||
CanDriveService.ToomossCanDrive.StartCanDrive();
|
||||
|
||||
//CAN DBC配置 有DBC配置的话,则直接加载DBC信息
|
||||
if (!string.IsNullOrEmpty(SelectCanLinConfigPro.CANConfigExd.DbcPath))
|
||||
{
|
||||
var DbcData = CanDriveService.StartDbc(SelectedCANConfigExdDto.DbcPath);
|
||||
|
||||
ListCanDbcModel = DbcData;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -644,7 +709,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -666,16 +731,28 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case "Parse":
|
||||
if (SelectCanLinConfigPro != null && SelectedCANConfigExdDto != null)
|
||||
{
|
||||
//打开之后连接
|
||||
if (CanDriveService.ToomossCanDrive.OpenState)
|
||||
{
|
||||
//CAN DBC配置 有DBC配置的话,则加载DBC信息
|
||||
if (!string.IsNullOrEmpty(SelectedCANConfigExdDto.DbcPath))
|
||||
{
|
||||
var DbcData = CanDriveService.StartDbc(SelectedCANConfigExdDto.DbcPath);
|
||||
|
||||
ListCanDbcModel = DbcData;
|
||||
}
|
||||
else
|
||||
{
|
||||
System.Windows.MessageBox.Show("请选择DBC文件后再操作", "提示", System.Windows.MessageBoxButton.OKCancel, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
}
|
||||
// ListCanDbcModel = new ObservableCollection<CanDbcModel>()
|
||||
//{
|
||||
// new CanDbcModel(){ MsgName="DSDF1",SignalName="FASDFA11",Publisher="DFAD1",SignalDesc="ASDFASD1"},
|
||||
@@ -687,20 +764,11 @@ namespace CapMachine.Wpf.ViewModels
|
||||
// return;
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(SelectedCANConfigExdDto.DbcPath))
|
||||
{
|
||||
CanDriveService.ToomossCanDrive.StartDbc(SelectedCANConfigExdDto.DbcPath);
|
||||
|
||||
ListCanDbcModel = CanDriveService.ToomossCanDrive.ListCanDbcModel;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("请选择DBC文件后再操作", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Hand);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
|
||||
@@ -720,7 +788,13 @@ namespace CapMachine.Wpf.ViewModels
|
||||
|
||||
CanDriveService.ToomossCanDrive.IsCycleRevice = true;
|
||||
CanDriveService.ToomossCanDrive.StartCycleReviceCanMsg();
|
||||
//Listen
|
||||
break;
|
||||
case "Listen":
|
||||
|
||||
CanDriveService.ToomossCanDrive.IsCycleRevice = true;
|
||||
CanDriveService.ToomossCanDrive.StartCycleReviceCanMsg();
|
||||
//Listen
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -731,7 +805,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
|
||||
|
||||
#region 写入和读取操作
|
||||
|
||||
|
||||
private ObservableCollection<CbxItems> _WriteNameCbxItems;
|
||||
/// <summary>
|
||||
/// 写入的Name
|
||||
@@ -849,7 +923,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
if (SelectCanLinConfigPro == null)
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -895,7 +969,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("请选中后再进行【删除】操作?", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("请选中后再进行【删除】操作?", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -984,7 +1058,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
{
|
||||
if (SelectCanLinConfigPro == null)
|
||||
{
|
||||
MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1029,7 +1103,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("请选中后再进行【删除】操作?", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
||||
System.Windows.MessageBox.Show("请选中后再进行【删除】操作?", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user