LIN 值更新和LIN接受优化数据
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using Prism.Mvvm;
|
||||
using Prism.Mvvm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -62,7 +62,7 @@ namespace CapMachine.Wpf.LinDrive
|
||||
}
|
||||
}
|
||||
|
||||
private StringBuilder _SignalRtValueSb = new StringBuilder(10);
|
||||
private StringBuilder _SignalRtValueSb = new StringBuilder(16);
|
||||
/// <summary>
|
||||
/// 信号实时值 StringBuilder
|
||||
/// </summary>
|
||||
@@ -71,12 +71,24 @@ namespace CapMachine.Wpf.LinDrive
|
||||
get { return _SignalRtValueSb; }
|
||||
set
|
||||
{
|
||||
//if (_SignalRtValueSb != value)
|
||||
//{
|
||||
SignalRtValue = value.ToString();
|
||||
_SignalRtValueSb = value;
|
||||
//}
|
||||
if (value == null)
|
||||
{
|
||||
if (_SignalRtValue != string.Empty)
|
||||
{
|
||||
_SignalRtValueSb.Clear();
|
||||
SignalRtValue = string.Empty;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 复制内容到内部可变缓冲区,避免多个模型共享同一个 StringBuilder 实例
|
||||
var str = value.ToString();
|
||||
if (!string.Equals(_SignalRtValue, str, StringComparison.Ordinal))
|
||||
{
|
||||
_SignalRtValueSb.Clear();
|
||||
_SignalRtValueSb.Append(str);
|
||||
SignalRtValue = str;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user