diff --git a/XP.Common/Controls/VirtualJoystick.cs b/XP.Common/Controls/VirtualJoystick.cs
index 14fc43b..3066547 100644
--- a/XP.Common/Controls/VirtualJoystick.cs
+++ b/XP.Common/Controls/VirtualJoystick.cs
@@ -136,6 +136,27 @@ namespace XP.Common.Controls
#endregion
+ #region SwapMouseButtons 依赖属性 | SwapMouseButtons Dependency Property
+
+ public static readonly DependencyProperty SwapMouseButtonsProperty =
+ DependencyProperty.Register(nameof(SwapMouseButtons), typeof(bool), typeof(VirtualJoystick),
+ new PropertyMetadata(false, OnSwapMouseButtonsChanged));
+
+ /// 是否交换左右键功能 | Whether to swap left and right button functions
+ public bool SwapMouseButtons
+ {
+ get => (bool)GetValue(SwapMouseButtonsProperty);
+ set => SetValue(SwapMouseButtonsProperty, value);
+ }
+
+ private static void OnSwapMouseButtonsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ {
+ if (d is VirtualJoystick joystick)
+ joystick.UpdateIconVisibility();
+ }
+
+ #endregion
+
#region 四向图标依赖属性 | Directional Icon Dependency Properties
// 左键图标 | Left button icons
@@ -185,7 +206,9 @@ namespace XP.Common.Controls
{
base.OnMouseLeftButtonDown(e);
if (_isDragging || !IsEnabled) return;
- StartDrag(MouseButtonType.Left);
+ // 如果启用了左右键交换,则左键触发右键逻辑,反之亦然
+ var buttonType = SwapMouseButtons ? MouseButtonType.Right : MouseButtonType.Left;
+ StartDrag(buttonType);
e.Handled = true;
}
@@ -193,7 +216,9 @@ namespace XP.Common.Controls
{
base.OnMouseRightButtonDown(e);
if (_isDragging || !IsEnabled) return;
- StartDrag(MouseButtonType.Right);
+ // 如果启用了左右键交换,则右键触发左键逻辑,反之亦然
+ var buttonType = SwapMouseButtons ? MouseButtonType.Left : MouseButtonType.Right;
+ StartDrag(buttonType);
e.Handled = true;
}
@@ -233,7 +258,10 @@ namespace XP.Common.Controls
protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonUp(e);
- if (!_isDragging || ActiveMouseButton != MouseButtonType.Left) return;
+ if (!_isDragging) return;
+ // 结束拖拽时,根据当前实际按下的按钮类型判断
+ var expectedType = SwapMouseButtons ? MouseButtonType.Right : MouseButtonType.Left;
+ if (ActiveMouseButton != expectedType) return;
EndDrag();
e.Handled = true;
}
@@ -241,7 +269,10 @@ namespace XP.Common.Controls
protected override void OnMouseRightButtonUp(MouseButtonEventArgs e)
{
base.OnMouseRightButtonUp(e);
- if (!_isDragging || ActiveMouseButton != MouseButtonType.Right) return;
+ if (!_isDragging) return;
+ // 结束拖拽时,根据当前实际按下的按钮类型判断
+ var expectedType = SwapMouseButtons ? MouseButtonType.Left : MouseButtonType.Right;
+ if (ActiveMouseButton != expectedType) return;
EndDrag();
e.Handled = true;
}
@@ -326,16 +357,21 @@ namespace XP.Common.Controls
SetVisibility(Visibility.Visible, defaultTop, defaultBottom, defaultLeft, defaultRight);
// 根据 ActiveMouseButton 切换 | Switch based on ActiveMouseButton
+ // 如果启用了左右键交换,则显示相反的图标组
switch (ActiveMouseButton)
{
case MouseButtonType.Left:
SetVisibility(Visibility.Collapsed, defaultTop, defaultBottom, defaultLeft, defaultRight);
- SetVisibility(Visibility.Visible, leftTop, leftBottom, leftLeft, leftRight);
+ // 如果交换了左右键,这里显示的是右键图标组
+ var leftIcons = SwapMouseButtons ? new[] { rightTop, rightBottom, rightLeft, rightRight } : new[] { leftTop, leftBottom, leftLeft, leftRight };
+ SetVisibility(Visibility.Visible, leftIcons);
if (_thumbElement != null) _thumbElement.Fill = new SolidColorBrush(Color.FromRgb(0x3A, 0x7B, 0xC8));
break;
case MouseButtonType.Right:
SetVisibility(Visibility.Collapsed, defaultTop, defaultBottom, defaultLeft, defaultRight);
- SetVisibility(Visibility.Visible, rightTop, rightBottom, rightLeft, rightRight);
+ // 如果交换了左右键,这里显示的是左键图标组
+ var rightIcons = SwapMouseButtons ? new[] { leftTop, leftBottom, leftLeft, leftRight } : new[] { rightTop, rightBottom, rightLeft, rightRight };
+ SetVisibility(Visibility.Visible, rightIcons);
if (_thumbElement != null) _thumbElement.Fill = new SolidColorBrush(Color.FromRgb(0x5B, 0xA8, 0x5B));
break;
default:
diff --git a/XP.Hardware.MotionControl/Resources/BackPointDisable.png b/XP.Hardware.MotionControl/Resources/BackPointDisable.png
new file mode 100644
index 0000000..88b197f
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/BackPointDisable.png differ
diff --git a/XP.Hardware.MotionControl/Resources/BackPointEnable.png b/XP.Hardware.MotionControl/Resources/BackPointEnable.png
new file mode 100644
index 0000000..0893dd1
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/BackPointEnable.png differ
diff --git a/XP.Hardware.MotionControl/Resources/Resources.Designer.cs b/XP.Hardware.MotionControl/Resources/Resources.Designer.cs
index 0830aba..9c897ae 100644
--- a/XP.Hardware.MotionControl/Resources/Resources.Designer.cs
+++ b/XP.Hardware.MotionControl/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
@@ -19,7 +19,7 @@ namespace XP.Hardware.MotionControl.Resources {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -60,6 +60,132 @@ namespace XP.Hardware.MotionControl.Resources {
}
}
+ ///
+ /// 查找类似 轴位置 的本地化字符串。
+ ///
+ internal static string AC_AxisPositions {
+ get {
+ return ResourceManager.GetString("AC_AxisPositions", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 校准计算值 的本地化字符串。
+ ///
+ internal static string AC_CalibrationValue {
+ get {
+ return ResourceManager.GetString("AC_CalibrationValue", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 探测器摆动 的本地化字符串。
+ ///
+ internal static string AC_DetectorSwing {
+ get {
+ return ResourceManager.GetString("AC_DetectorSwing", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 探测器 Z 的本地化字符串。
+ ///
+ internal static string AC_DetectorZ {
+ get {
+ return ResourceManager.GetString("AC_DetectorZ", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 实体操作摇杆使能 的本地化字符串。
+ ///
+ internal static string AC_Enable {
+ get {
+ return ResourceManager.GetString("AC_Enable", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 夹具旋转 的本地化字符串。
+ ///
+ internal static string AC_FixtureRotation {
+ get {
+ return ResourceManager.GetString("AC_FixtureRotation", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 恢复前一位置 的本地化字符串。
+ ///
+ internal static string AC_Restore {
+ get {
+ return ResourceManager.GetString("AC_Restore", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 安全高度 的本地化字符串。
+ ///
+ internal static string AC_SafetyHeight {
+ get {
+ return ResourceManager.GetString("AC_SafetyHeight", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 安全参数 的本地化字符串。
+ ///
+ internal static string AC_SafetyParams {
+ get {
+ return ResourceManager.GetString("AC_SafetyParams", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 保存当前位置 的本地化字符串。
+ ///
+ internal static string AC_Save {
+ get {
+ return ResourceManager.GetString("AC_Save", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 射线源 Z 的本地化字符串。
+ ///
+ internal static string AC_SourceZ {
+ get {
+ return ResourceManager.GetString("AC_SourceZ", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 载物台旋转 的本地化字符串。
+ ///
+ internal static string AC_StageRotation {
+ get {
+ return ResourceManager.GetString("AC_StageRotation", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 载物台 X 的本地化字符串。
+ ///
+ internal static string AC_StageX {
+ get {
+ return ResourceManager.GetString("AC_StageX", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 载物台 Y 的本地化字符串。
+ ///
+ internal static string AC_StageY {
+ get {
+ return ResourceManager.GetString("AC_StageY", resourceCulture);
+ }
+ }
+
///
/// 查找类似 Actual 的本地化字符串。
///
@@ -327,6 +453,15 @@ namespace XP.Hardware.MotionControl.Resources {
}
}
+ ///
+ /// 查找类似 运动控制 的本地化字符串。
+ ///
+ internal static string MC_MotionCtrl {
+ get {
+ return ResourceManager.GetString("MC_MotionCtrl", resourceCulture);
+ }
+ }
+
///
/// 查找类似 Move 的本地化字符串。
///
diff --git a/XP.Hardware.MotionControl/Resources/Resources.en-US.resx b/XP.Hardware.MotionControl/Resources/Resources.en-US.resx
index c743526..90aaa7d 100644
--- a/XP.Hardware.MotionControl/Resources/Resources.en-US.resx
+++ b/XP.Hardware.MotionControl/Resources/Resources.en-US.resx
@@ -258,30 +258,29 @@ SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
Confirm to filll move matrix?
-
Axis Positions
- Stage X
+ X mm
- Stage Y
+ Y mm
- Source Z
+ SZ mm
- Detector Z
+ DZ mm
- Detector Swing
+ DT' °
- Stage Rotation
+ R' °
- Fixture Rotation
+ FR' °
Safety Parameters
@@ -301,4 +300,7 @@ Confirm to filll move matrix?
Restore Position
+
+ Motion Control
+
\ No newline at end of file
diff --git a/XP.Hardware.MotionControl/Resources/Resources.resx b/XP.Hardware.MotionControl/Resources/Resources.resx
index 6a8829a..42aa50b 100644
--- a/XP.Hardware.MotionControl/Resources/Resources.resx
+++ b/XP.Hardware.MotionControl/Resources/Resources.resx
@@ -301,7 +301,6 @@ DetectorZ → {4:F2}mm
确认填入信息? | Confirm to filll move matrix?
几何反算确认提示 | Geometry inverse confirmation message
-
轴位置
轴位置分组标题 | Axis positions group title
@@ -358,4 +357,8 @@ DetectorZ → {4:F2}mm
恢复前一位置
恢复按钮文本 | Restore button text
+
+ 运动控制
+ header
+
\ No newline at end of file
diff --git a/XP.Hardware.MotionControl/Resources/Resources.zh-CN.resx b/XP.Hardware.MotionControl/Resources/Resources.zh-CN.resx
index 2bc19e5..067d0d6 100644
--- a/XP.Hardware.MotionControl/Resources/Resources.zh-CN.resx
+++ b/XP.Hardware.MotionControl/Resources/Resources.zh-CN.resx
@@ -258,30 +258,29 @@ SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
确认填入目标值信息?
-
轴位置
- 载物台 X
+ X mm
- 载物台 Y
+ Y mm
- 射线源 Z
+ SZ mm
- 探测器 Z
+ DZ mm
- 探测器摆动
+ DT' °
- 载物台旋转
+ R' °
- 夹具旋转
+ FR' °
安全参数
@@ -301,4 +300,7 @@ DetectorZ → {4:F2}mm
恢复前一位置
+
+ 运动控制
+
\ No newline at end of file
diff --git a/XP.Hardware.MotionControl/Resources/Resources.zh-TW.resx b/XP.Hardware.MotionControl/Resources/Resources.zh-TW.resx
index b7c1687..390cd2a 100644
--- a/XP.Hardware.MotionControl/Resources/Resources.zh-TW.resx
+++ b/XP.Hardware.MotionControl/Resources/Resources.zh-TW.resx
@@ -258,30 +258,29 @@ SourceZ → {3:F2}mm
DetectorZ → {4:F2}mm
確填入目標值資料?
-
軸位置
- 載物台 X
+ X mm
- 載物台 Y
+ Y mm
- 射線源 Z
+ SZ mm
- 探測器 Z
+ DZ mm
- 探測器擺動
+ DT' °
- 載物台旋轉
+ R' °
- 夾具旋轉
+ FR' °
安全參數
@@ -301,4 +300,7 @@ DetectorZ → {4:F2}mm
恢復前一位置
+
+ 運動控制
+
\ No newline at end of file
diff --git a/XP.Hardware.MotionControl/Resources/SavePoint.png b/XP.Hardware.MotionControl/Resources/SavePoint.png
new file mode 100644
index 0000000..a8a9798
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/SavePoint.png differ
diff --git a/XP.Hardware.MotionControl/Resources/SwingDisable.png b/XP.Hardware.MotionControl/Resources/SwingDisable.png
new file mode 100644
index 0000000..89a2cda
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/SwingDisable.png differ
diff --git a/XP.Hardware.MotionControl/Resources/SwingEnable.png b/XP.Hardware.MotionControl/Resources/SwingEnable.png
new file mode 100644
index 0000000..9d6f810
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/SwingEnable.png differ
diff --git a/XP.Hardware.MotionControl/Resources/ToggleDisable.png b/XP.Hardware.MotionControl/Resources/ToggleDisable.png
new file mode 100644
index 0000000..5b6712c
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/ToggleDisable.png differ
diff --git a/XP.Hardware.MotionControl/Resources/ToggleEnable.png b/XP.Hardware.MotionControl/Resources/ToggleEnable.png
new file mode 100644
index 0000000..bd97663
Binary files /dev/null and b/XP.Hardware.MotionControl/Resources/ToggleEnable.png differ
diff --git a/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs b/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs
index 94ebafd..4c7ce5e 100644
--- a/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs
+++ b/XP.Hardware.MotionControl/ViewModels/AxisControlViewModel.cs
@@ -82,6 +82,7 @@ namespace XP.Hardware.MotionControl.ViewModels
// 初始化命令 | Initialize commands
ToggleEnableCommand = new DelegateCommand(ExecuteToggleEnable, () => IsPlcConnected);
+ ToggleSwapMouseButtonsCommand = new DelegateCommand(ExecuteToggleSwapMouseButtons);
SavePositionsCommand = new DelegateCommand(ExecuteSavePositions);
RestorePositionsCommand = new DelegateCommand(ExecuteRestorePositions, () => _savedPositions != null && IsPlcConnected);
@@ -254,6 +255,10 @@ namespace XP.Hardware.MotionControl.ViewModels
/// 摇杆使能状态 | Joystick enable state
public bool IsJoystickEnabled { get => _isJoystickEnabled; set => SetProperty(ref _isJoystickEnabled, value); }
+ private bool _swapMouseButtons;
+ /// 是否交换摇杆左右键功能 | Whether to swap left and right joystick button functions
+ public bool SwapMouseButtons { get => _swapMouseButtons; set => SetProperty(ref _swapMouseButtons, value); }
+
private bool _isPlcConnected;
/// PLC 连接状态 | PLC connection status
public bool IsPlcConnected { get => _isPlcConnected; set => SetProperty(ref _isPlcConnected, value); }
@@ -264,11 +269,21 @@ namespace XP.Hardware.MotionControl.ViewModels
#endregion
+ #region 保存位置状态 | Saved Positions State
+
+ /// 是否有保存的位置数据 | Whether saved position data exists
+ public bool HasSavedPositions => _savedPositions != null;
+
+ #endregion
+
#region 命令 | Commands
/// 切换使能开关命令 | Toggle enable switch command
public DelegateCommand ToggleEnableCommand { get; }
+ /// 切换摇杆左右键功能命令 | Toggle joystick button swap command
+ public DelegateCommand ToggleSwapMouseButtonsCommand { get; }
+
/// 保存当前轴位置命令 | Save current axis positions command
public DelegateCommand SavePositionsCommand { get; }
@@ -375,6 +390,7 @@ namespace XP.Hardware.MotionControl.ViewModels
private void RaiseCommandCanExecuteChanged()
{
ToggleEnableCommand.RaiseCanExecuteChanged();
+ ToggleSwapMouseButtonsCommand.RaiseCanExecuteChanged();
SavePositionsCommand.RaiseCanExecuteChanged();
RestorePositionsCommand.RaiseCanExecuteChanged();
}
@@ -440,6 +456,15 @@ namespace XP.Hardware.MotionControl.ViewModels
// TODO: 发送使能状态到 PLC(根据实际 PLC 信号定义)| Send enable state to PLC (based on actual PLC signal definition)
}
+ ///
+ /// 切换左右键交换状态 | Toggle swap mouse buttons state
+ ///
+ private void ExecuteToggleSwapMouseButtons()
+ {
+ SwapMouseButtons = !SwapMouseButtons;
+ _logger.Info("摇杆左右键功能交换:{Enabled} | Joystick button swap toggled: {Enabled}", SwapMouseButtons);
+ }
+
///
/// 保存当前 6 个轴位置到内部变量 | Save current 6 axis positions to internal variable
///
@@ -456,6 +481,7 @@ namespace XP.Hardware.MotionControl.ViewModels
FixtureRotation = FixtureRotationAngle
};
RestorePositionsCommand.RaiseCanExecuteChanged();
+ RaisePropertyChanged(nameof(HasSavedPositions));
_logger.Info("轴位置已保存 | Axis positions saved");
}
diff --git a/XP.Hardware.MotionControl/Views/AxisControlView.xaml b/XP.Hardware.MotionControl/Views/AxisControlView.xaml
index 9b47949..325e094 100644
--- a/XP.Hardware.MotionControl/Views/AxisControlView.xaml
+++ b/XP.Hardware.MotionControl/Views/AxisControlView.xaml
@@ -12,24 +12,43 @@
MinWidth="350"
HorizontalAlignment="Stretch" Background="White">
-
+
-
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
-
@@ -41,26 +60,26 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -69,102 +88,133 @@
+ RightButtonTopIcon="R+" RightButtonBottomIcon="R-" RightButtonLeftIcon="DT-" RightButtonRightIcon="DT+"
+ Margin="0,0,2,0" Cursor="Hand"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+ ToolTip="{loc:Localization AC_Enable}"
+ telerik:StyleManager.Theme="Crystal">
+
+
+
+
+
+
+
+
+
+
+
-
+ ToolTip="{loc:Localization AC_Save}"
+ telerik:StyleManager.Theme="Crystal">
+
+
+
+
-
+ ToolTip="{loc:Localization AC_Restore}"
+ IsEnabled="{Binding HasSavedPositions}"
+ telerik:StyleManager.Theme="Crystal">
+
+
+
+
-
-
-
-
-
-
-
+
diff --git a/XP.Hardware.MotionControl/XP.Hardware.MotionControl.csproj b/XP.Hardware.MotionControl/XP.Hardware.MotionControl.csproj
index 1519476..740fc18 100644
--- a/XP.Hardware.MotionControl/XP.Hardware.MotionControl.csproj
+++ b/XP.Hardware.MotionControl/XP.Hardware.MotionControl.csproj
@@ -13,16 +13,29 @@
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
+
-
- True
- True
- Resources.resx
-
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Never
+
diff --git a/XP.Hardware.RaySource/Resources/Resources.Designer.cs b/XP.Hardware.RaySource/Resources/Resources.Designer.cs
index 689e6f6..4e8793f 100644
--- a/XP.Hardware.RaySource/Resources/Resources.Designer.cs
+++ b/XP.Hardware.RaySource/Resources/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
@@ -19,7 +19,7 @@ namespace XP.Hardware.RaySource.Resources {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -133,7 +133,7 @@ namespace XP.Hardware.RaySource.Resources {
}
///
- /// 查找类似 射线源配置 的本地化字符串。
+ /// 查找类似 射线源高级选项 的本地化字符串。
///
internal static string RaySource_ConfigWindowTitle {
get {
@@ -604,7 +604,7 @@ namespace XP.Hardware.RaySource.Resources {
///
/// 查找类似 射线源
- ///不可用 的本地化字符串。
+ ///未连接 的本地化字符串。
///
internal static string RaySource_StatusUnavailable {
get {
@@ -855,6 +855,15 @@ namespace XP.Hardware.RaySource.Resources {
}
}
+ ///
+ /// 查找类似 射线 的本地化字符串。
+ ///
+ internal static string RaySource_XRay {
+ get {
+ return ResourceManager.GetString("RaySource_XRay", resourceCulture);
+ }
+ }
+
///
/// 查找类似 关闭 的本地化字符串。
///
diff --git a/XP.Hardware.RaySource/Resources/Resources.en-US.resx b/XP.Hardware.RaySource/Resources/Resources.en-US.resx
index cffa569..f93f57c 100644
--- a/XP.Hardware.RaySource/Resources/Resources.en-US.resx
+++ b/XP.Hardware.RaySource/Resources/Resources.en-US.resx
@@ -1,5 +1,64 @@
+
@@ -179,7 +238,7 @@ Opened
X-Ray
-Unavailable
+Not Connected
Connect Ray Source
@@ -215,7 +274,7 @@ Unavailable
Config
- X-Ray Source Configuration
+ X-Ray Source Advanced Options
Warm-Up:
@@ -244,8 +303,8 @@ Unavailable
Normal
-
- X-Ray:
+
+ X-Ray
On
@@ -334,4 +393,7 @@ Unavailable
Operation command sent, waiting for device execution...
+
+ X-Ray:
+
\ No newline at end of file
diff --git a/XP.Hardware.RaySource/Resources/Resources.resx b/XP.Hardware.RaySource/Resources/Resources.resx
index 2886a8a..20d7462 100644
--- a/XP.Hardware.RaySource/Resources/Resources.resx
+++ b/XP.Hardware.RaySource/Resources/Resources.resx
@@ -1,5 +1,64 @@
+
@@ -190,7 +249,7 @@
射线源
-不可用
+未连接
RaySourceOperateView - 射线源不可用状态文本 | X-Ray unavailable status text
@@ -238,7 +297,7 @@
RaySourceOperateView - 配置按钮 | Config button
- 射线源配置
+ 射线源高级选项
RaySourceConfigWindow - 窗口标题 | Window title
@@ -277,9 +336,8 @@
正常
RaySourceConfigView - 连锁正常状态 | Interlock normal status
-
- 射线状态:
- RaySourceConfigView - 射线开启状态标签 | X-ray on status label
+
+ 射线
开启
@@ -383,4 +441,8 @@
操作指令已发送,等待设备执行...
+
+ 射线状态:
+ RaySourceConfigView - 射线开启状态标签 | X-ray on status label
+
\ No newline at end of file
diff --git a/XP.Hardware.RaySource/Resources/Resources.zh-CN.resx b/XP.Hardware.RaySource/Resources/Resources.zh-CN.resx
index acef58c..3166c7b 100644
--- a/XP.Hardware.RaySource/Resources/Resources.zh-CN.resx
+++ b/XP.Hardware.RaySource/Resources/Resources.zh-CN.resx
@@ -1,5 +1,64 @@
+
@@ -179,7 +238,7 @@
射线源
-不可用
+未连接
连接射线源
@@ -215,7 +274,7 @@
配置
- 射线源配置
+ 射线源高级选项
暖机:
@@ -244,8 +303,8 @@
正常
-
- 射线状态:
+
+ 射线源
开启
@@ -334,4 +393,7 @@
操作指令已发送,等待设备执行...
+
+ 射线状态:
+
\ No newline at end of file
diff --git a/XP.Hardware.RaySource/Resources/Resources.zh-TW.resx b/XP.Hardware.RaySource/Resources/Resources.zh-TW.resx
index 0667e23..9f499a3 100644
--- a/XP.Hardware.RaySource/Resources/Resources.zh-TW.resx
+++ b/XP.Hardware.RaySource/Resources/Resources.zh-TW.resx
@@ -1,5 +1,64 @@
+
@@ -179,7 +238,7 @@
射線源
-不可用
+未連線
連接射線源
@@ -215,7 +274,7 @@
配置
- 射線源配置
+ 射線源高級選項
暖機:
@@ -244,8 +303,8 @@
正常
-
- 射線狀態:
+
+ 射線源
開啟
@@ -334,4 +393,7 @@
操作指令已發送,等待設備執行...
+
+ 射線狀態:
+
\ No newline at end of file
diff --git a/XP.Hardware.RaySource/Views/RaySourceOperateView.xaml b/XP.Hardware.RaySource/Views/RaySourceOperateView.xaml
index 6af0097..163285f 100644
--- a/XP.Hardware.RaySource/Views/RaySourceOperateView.xaml
+++ b/XP.Hardware.RaySource/Views/RaySourceOperateView.xaml
@@ -9,7 +9,7 @@
xmlns:prism="http://prismlibrary.com/"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="XP.Hardware.RaySource.Views.RaySourceOperateView"
mc:Ignorable="d" d:DesignWidth="350"
- prism:ViewModelLocator.AutoWireViewModel="True" Height="249" Background="White" >
+ prism:ViewModelLocator.AutoWireViewModel="True" Height="245" Background="White" >
@@ -61,26 +61,44 @@
+
+
+
+
+
+
+
+
-
+
-
+
+ CornerRadius="35">