增加了初始弹窗,但是没有成功

更改了CAN和LIN协调
更改了配置程序的名称顺序
This commit is contained in:
2025-01-11 12:04:34 +08:00
parent 620c5e8178
commit e49a48fb25
53 changed files with 5118 additions and 131 deletions

View File

@@ -111,16 +111,29 @@
Text="{Binding ElementName=MeterInstance, Path=AutoStateMsg}"
Command="{Binding ElementName=MeterInstance, Path=AutoHandCommand}"
CommandParameter="{Binding ElementName=MeterInstance}"
把整个控件作为参数传递进去
把整个控件作为参数传递进去 Text="{Binding ElementName=MeterInstance, Path=HandValueMVParameter}"
-->
<TextBox
x:Name="HandValueMV"
Width="42"
HorizontalContentAlignment="Center"
KeyDown="HandValueMV_KeyDown"
Text="{Binding ElementName=MeterInstance, Path=HandValueMVParameter}"
ToolTip="按【Enter】回车键才会发送生效"
Visibility="{Binding ElementName=MeterInstance, Path=IsHandValueShow}" />
Visibility="{Binding ElementName=MeterInstance, Path=IsHandValueShow}">
<TextBox.Style>
<Style BasedOn="{StaticResource MaterialDesignTextBox}" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Text" Value="{Binding ElementName=MeterInstance, Path=HandValueTempMVParameter, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Setter Property="Background" Value="LimeGreen" />
</Trigger>
<Trigger Property="IsFocused" Value="False">
<Setter Property="Text" Value="{Binding ElementName=MeterInstance, Path=HandValueMVParameter, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<TextBlock
Margin="0,2,0,0"
HorizontalAlignment="Center"
@@ -136,16 +149,29 @@
Text="{Binding ElementName=MeterInstance, Path=AutoStateMsg}"
Command="{Binding ElementName=MeterInstance, Path=AutoHandCommand}"
CommandParameter="{Binding ElementName=MeterInstance}"
把整个控件作为参数传递进去
把整个控件作为参数传递进去 Text="{Binding ElementName=MeterInstance, Path=HandValueSVParameter, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"
-->
<TextBox
x:Name="HandValueSV"
Width="42"
HorizontalContentAlignment="Center"
KeyDown="HandValueSV_KeyDown"
Text="{Binding ElementName=MeterInstance, Path=HandValueSVParameter}"
ToolTip="按【Enter】回车键才会发送生效"
Visibility="{Binding ElementName=MeterInstance, Path=IsHandValueShow}" />
Visibility="{Binding ElementName=MeterInstance, Path=IsHandValueShow}">
<TextBox.Style>
<Style BasedOn="{StaticResource MaterialDesignTextBox}" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Text" Value="{Binding ElementName=MeterInstance, Path=HandValueTempSVParameter, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Setter Property="Background" Value="LimeGreen" />
</Trigger>
<Trigger Property="IsFocused" Value="False">
<Setter Property="Text" Value="{Binding ElementName=MeterInstance, Path=HandValueSVParameter, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<TextBlock
Margin="0,2,0,0"
HorizontalAlignment="Center"

View File

@@ -202,7 +202,7 @@ namespace CapMachine.Shared.Controls
if (control != null && control.IsChecked == true)
{
AutoStateMsg = "手动";
IsHandValueShow= "Visible";
IsHandValueShow = "Visible";
}
else
{
@@ -215,7 +215,7 @@ namespace CapMachine.Shared.Controls
private string _IsHandValueShow= "Hidden";
private string _IsHandValueShow = "Hidden";
/// <summary>
/// 手动设置的是值是否显示
/// </summary>
@@ -275,6 +275,42 @@ namespace CapMachine.Shared.Controls
public static readonly DependencyProperty HandValueSVParameterProperty = DependencyProperty.Register("HandValueSVParameter", typeof(object), typeof(Meter), new PropertyMetadata(0));
/// <summary>
/// 手自给值 临时输入用参数 SV
/// </summary>
public object HandValueTempSVParameter
{
get
{
return (object)base.GetValue(Meter.HandValueTempSVParameterProperty);
}
set
{
base.SetValue(Meter.HandValueTempSVParameterProperty, value);
}
}
public static readonly DependencyProperty HandValueTempSVParameterProperty = DependencyProperty.Register("HandValueTempSVParameter", typeof(object), typeof(Meter), new PropertyMetadata(0));
/// <summary>
/// 手自给值 临时输入用参数 MV
/// </summary>
public object HandValueTempMVParameter
{
get
{
return (object)base.GetValue(Meter.HandValueTempMVParameterProperty);
}
set
{
base.SetValue(Meter.HandValueTempMVParameterProperty, value);
}
}
public static readonly DependencyProperty HandValueTempMVParameterProperty = DependencyProperty.Register("HandValueTempMVParameter", typeof(object), typeof(Meter), new PropertyMetadata(0));
/// <summary>
/// 手动给值回车检测
/// </summary>
@@ -291,7 +327,7 @@ namespace CapMachine.Shared.Controls
if (double.TryParse(HandValueMV.Text, out double Result))
{
//把整个控件打包发送过去无法访问Textbox的值那么直接传送模型的数据给ViewModel
HandValueCommand.Execute(new MeterChannelValue() { Name = MeterName, Value = Result,Type="MV" });
HandValueCommand.Execute(new MeterChannelValue() { Name = MeterName, Value = Result, Type = "MV" });
}
}
@@ -309,6 +345,7 @@ namespace CapMachine.Shared.Controls
{
if (HandValueCommand != null && HandValueCommand.CanExecute(HandValueSVParameter))
{
//HandValueTempSVParameter = HandValueSVParameter;
//HandValueParameter 此时无法更新到最新的值(旧值),可能因为RaisePropertyChanged在ViewModel上不受这边的控制了所以直接取控件的数据
//HandValueParameter 没有使用直接取控件的值HandValueParameter作为初始值使用
if (double.TryParse(HandValueSV.Text, out double Result))
@@ -316,8 +353,9 @@ namespace CapMachine.Shared.Controls
//把整个控件打包发送过去无法访问Textbox的值那么直接传送模型的数据给ViewModel
HandValueCommand.Execute(new MeterChannelValue() { Name = MeterName, Value = Result, Type = "SV" });
}
}
}
}
}