UI控件库
Phoenix UI控件库是基于WPF自定义控件技术,提供的一组适应基础数控功能的自定义组件。
所属组件: Weihong.Phoenix.UI.Controls.dll
命名空间: xmlns:ui="http://weihong.phoenix.ui.interactions"
本文描述了这些组件的功能和使用方法。主要包括:
- AlarmView 报警列表
- AxisErrorCompensationGrid 丝杆误差补偿参数控件
- BinaryDiagnosticControl 端口诊断
- BackupControl 参数备份控件
- BitPortListView 端口列表
- BitPortView 端口列表
- CircularGaugeControl 仪表盘控件
- CommonParameterView 常用参数列表
- DiscommonParameterView 非常用参数列表
- EditFileControl 文件编辑控件
- FTextBox
- FPasswordBox
- FileList 文件列表
- HyperlinkControl 超链接
- ListSourceDataGrid 以List为源的数据列表
- LogView 日志列表
- LogBar 日志条
- LocalFileList 本地盘文件列表
- MachineStatListView 加工统计列表
- MachineTaskListDataGrid 加工任务列表
- MultiProgressBar 双值进度条
- NetWorkFileList 网络盘文件列表
- NumericTextBox 数值输入框
- Password 密码功能
- ParameterGrid 参数网格
- ParameterButton 参数按钮
- ParameterView 参数列表
- Register 注册功能
- SearchParamControl 参数查询控件
- ScriptMenu 可配置菜单
- ScriptButton 可配置按钮
- ScriptContextMenu 可配置上下文菜单
- StateButton 状态按钮控件
- UpdateSoftware 软件升级控件
AlarmView 报警列表
报警列表是显示报警信息的列表,即显示Phoenix系统中StateIn状态类型的日志。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
IsShowHistory | Bool | 获取或设置一个值,该值指示是否显示历史报警。 |
CurrentAlarmsSource | ObservableCollection<AlarmItem> | 获取或设置当前报警列表。 |
HistoryAlarmsSource | ObservableCollection<AlarmItem> | 获取或设置历史报警列表。 |
AlarmManager功能类接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
CurrentAlarms | ObservableCollection<AlarmItem> | 获取当前报警列表。 |
HistoryAlarms | ObservableCollection<AlarmItem> | 获取历史报警列表。 |
CurrentCount | Int | 获取当前报警数。 |
AlarmItem报警信接口:
| 接口名称 | 类型 | 接口描述 | |------------|--------|-----------------------------------------------| | Flag | String | 获取或设置报警类型。(Warning/Error) | | Text | String | 获取或设置报警内容。 | | StateID | String | 获取或设置报警id 。 | | CreateTime | String | 获取或设置报警生成时间。(格式:2017-08-11 15:59:59) | | DeleteTime | String | 获取或设置报警删除时间。 | 示例代码:
<ui:AlarmView>
<ui:AlarmView.View>
<GridView >
<GridViewColumn Header="{ia:L 报警信息}" CellTemplate="{StaticResource AlarmTextTemplate}" />
<GridViewColumn Header="{ia:L 出现时间}" DisplayMemberBinding="{Binding CreateTime}" />
<GridViewColumn Header="{ia:L 解除时间}" DisplayMemberBinding="{Binding DeleteTime}" />
</GridView>
</ui:AlarmView.View>
<i:Interaction.Behaviors>
<ui:DynamicBindingBehavior Property="HistoryAlarmsSource" Path="Phoenix.G.AlarmManager.HistoryAlarms" />
<ui:DynamicBindingBehavior Property="CurrentAlarmsSource" Path="Phoenix.G.AlarmManager.CurrentAlarms"/>
</i:Interaction.Behaviors>
</ui:AlarmView>
AxisErrorCompensationGrid 丝杆误差补偿参数控件
AxisErrorCompensationGrid是为显示和修改丝杆误差提供的控件。
接口列表:
接口名称 | 类型 | 描述 |
---|---|---|
Delete | Bool | 设置一个值,该值指示是否删除项。 |
DeleteAll | Bool | 设置一个值,该值指示是否删除全部。 |
Insert | Bool | 设置一个值,该值指示是否插入。 |
Import | Bool | 设置一个值,该值指示是否导入。 |
IsSucceedImported | Bool | 获取或设置一个值,该值指示是否成功导入。 |
Export | Bool | 设置一个值,该值指示是否导出。 |
Apply | Bool | 设置一个值,该值指示是否应用参数。 |
Check | String | 获取控件的参数检查结果。 |
ErrorCount | Int | 获取控件的参数检查中错误的个数。 |
SetParameters | Bool | 设置一个值,该值指示是否设置参数。 |
IsRemDiskExist | Bool | 获取一个值,该值指示是否存在可移动磁盘。 |
FilePath | String | 获取或设置控件的文件路径。 |
Index | Int | 获取或设置控件的轴序号。 |
Start | Double | 获取或设置控件的补偿的起点。 |
Step | Double | 获取或设置控件的生成补偿点数的补偿。 |
Count | Int | 获取或设置控件的补偿点数。 |
LineCount | Int | 获取控件的元素个数。 |
IsFileExist | Bool | 获取一个值,该值指示控件的文件是否存在。 |
SelectedItemIsNull | Bool | 获取一个值,该值指示控件的当前元素是否为空。 |
MeasureMent接口:
接口名称 | 类型 | 描述 |
---|---|---|
Index | Int | 获取或设置数据的参数序号。 |
Nominal | Double | 获取或设置数据的名义值。 |
Positive | Double | 获取或设置数据的正向误差。 |
Negative | Double | 获取或设置数据的反向误差。 |
单向误差补偿示例代码:
<ui:AxisErrorCompensationGrid >
<ui:AxisErrorCompensationGrid.Columns>
<DataGridTextColumn Binding="{Binding Index}" Header="行号" />
<DataGridTextColumn Binding="{Binding Nominal, Converter={StaticResource doubleConverter}}" Header="坐标位置"/>
<DataGridTextColumn Binding="{Binding Positive, Converter={StaticResource doubleConverter}}" Header="单向误差"/>
</ui:AxisErrorCompensationGrid.Columns>
</ui:AxisErrorCompensationGrid>
双向误差补偿示例代码:
<ui:AxisErrorCompensationGrid >
<ui:AxisErrorCompensationGrid.Columns>
<DataGridTextColumn Binding="{Binding Index}" Header="行号" />
<DataGridTextColumn Binding="{Binding Nominal, Converter={StaticResource doubleConverter}}" Header="坐标位置"/>
<DataGridTextColumn Binding="{Binding Positive, Converter={StaticResource doubleConverter}}" Header="正向误差"/>
<DataGridTextColumn Binding="{Binding Negative, Converter={StaticResource doubleConverter}}" Header="负向误差"/>
</ui:AxisErrorCompensationGrid.Columns>
</ui:AxisErrorCompensationGrid>
设置误差补偿轴序号示例代码:
<ui:AxisErrorCompensationGrid Index="0" >
<ui:AxisErrorCompensationGrid.Columns>
<DataGridTextColumn Binding="{Binding Index}" Header="行号" />
<DataGridTextColumn Binding="{Binding Nominal, Converter={StaticResource doubleConverter}}" Header="坐标位置" />
<DataGridTextColumn Binding="{Binding Positive, Converter={StaticResource doubleConverter}}" Header="正向误差" />
<DataGridTextColumn Binding="{Binding Negative, Converter={StaticResource doubleConverter}}" Header="负向误差" />
</ui:AxisErrorCompensationGrid.Columns>
</ui:AxisErrorCompensationGrid>
规格说明:
- 最多支持9个轴
- 支持.lin、.rtl、.ren、.pos、.cmp、.dat、.xml后缀的文件
可导入文件格式:
外商数据:导入的文件中必须包含轴信息;否则,不可导入。
- 光动原始数据(.lin)
- 雷尼绍原始数据(.rtl)
- 雷尼绍分析数据(.ren)
- API原始数据(.pos)
- API分析数据(.cmp)
维宏数据
- dat格式数据(.dat)
- xml格式数据(.xml)
导出文件格式: xml格式数据(.dat)
xml和dat文件格式规格:
<?xml version="1.0" encoding="utf-8"?>
<Compensation Count="3">
<Axis Name="X">
<CheckPoint Nominal="100" PositivePhysical="99.5" NegativePhysical="99" />
<CheckPoint Nominal="200" PositivePhysical="199.5" NegativePhysical="199" />
<CheckPoint Nominal="300" PositivePhysical="299.5" NegativePhysical="299" />
<CheckPoint Nominal="400" PositivePhysical="399.5" NegativePhysical="399" />
<CheckPoint Nominal="500" PositivePhysical="499.5" NegativePhysical="499" />
</Axis>
<Axis Name="Y">
<CheckPoint Nominal="100" PositivePhysical="99.5" NegativePhysical="99" />
<CheckPoint Nominal="200" PositivePhysical="199.5" NegativePhysical="199" />
<CheckPoint Nominal="300" PositivePhysical="299.5" NegativePhysical="299" />
<CheckPoint Nominal="400" PositivePhysical="399.5" NegativePhysical="399" />
</Axis>
<Axis Name="Z" />
说明:
- Name指轴名称,可以为空。
- CheckPoint 指一条检查点数据,Nominal 指检查点坐标,PositivePhysical 指正向误差,NegativePhysical 指反向误差。必须是数字,不可为空。
- 检查点必须从小到大排列。
- 轴下面可以没有检查点。
BinaryDiagnosticControl 端口诊断
BinaryDiagnosticControl是为实时监测端口值变化提供的控件,Bool类型的变量也可以通过此控件进行监测。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
BinaryDiagnosticControl属性列表接口:
接口名称 | 类型 | 描述 |
---|---|---|
SupportedCount | Int | 获取或设置最多支持同事监测数据的个数。 |
IsGridShow | Bool | 获取或设置一个值,该值指示是否显示网格线。 |
SampleInterval | Double | 获取或设置采样周期。(单位ms) |
LuaPath | String | 获取或设置配置表路径。 |
ButtonStyle | Style | 获取或设置按钮样式。(用于定制控件内按钮的样式) |
SampleEnabled | Bool | 获取或设置一个值,该值指示开始/停止采样。 |
Cancel | Bool | 设置一个值,该值指示取消当前寻址的监测。 |
Clean | Bool | 设置一个值,该值指示清除所有波形。 |
AddItem | String | 设置添加一个寻址监测。 |
BinaryWaveControl控件接口:
接口名称 | 类型 | 描述 |
---|---|---|
WaveLineBrush | Brush | 获取或设置波形颜色。 |
Buffer | ObservableCollection |
获取或设置采样数据。 |
BinaryLineControl控件接口:
接口名称 | 类型 | 描述 |
---|---|---|
RulerColor | Brush | 获取或设置上标尺颜色。(默认Black) |
TimeLineColor | Brush | 获取或设置左右标尺线之间时间线。(默认Green) |
LeftLineColor | Brush | 获取或设置左标尺线。(默认Red) |
RightLineColor | Brush | 获取或设置右标尺线。(默认Yellow) |
GridColor | Brush | 获取或设置网格颜色。(默认Red) |
IsGridShow | Bool | 获取或设置一个值,该值指示是否显示网格 。 |
UnitTime | Double | 获取或设置标尺单位长度所代表的时间。 |
UnitName | String | 获取或设置标尺单位名字。 |
代码示例:
<ui:BinaryDiagnosticControl SupportedCount="10" LuaPath="Diagnostic" SampleInterval="5" DescTableName="ParaTable"/>
BackupControl 参数备份控件
BackupControl 提供参数备份和还原的控件。
接口列表
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | String | 获取或设置控件的列表源。 |
BackupManager接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
DataList | ObservableCollection |
参数数据列表。 |
Backup | Bool | 设置一个值,该值指示是否备份。 |
ForceBackup | Bool | 设置一个值,该值指示是否强制备份。 |
Recover | String | 设置要恢复的文件,执行恢复。 |
代码示例:
<ui:BackupControl Source="Phoenix.G.BackupManage" />
注意:
- 备份总文件超过60条后,自动清除距离当前时间60条外的文件。软件关闭时触发。
- 恢复参数后必须重启软件。若不重启,则在下一次启动软件后恢复参数。
BitPortListView 端口列表
BitPortListView是呈现端口信息的列表控件。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
Interval | Int | 获取或设置控件的扫描端口状态周期。(单位:毫秒) |
Source | Object | 获取或设置控件的数据源。(赋值一个基于界面虚拟机的lua表路径) |
BitPortListGroupStyle | GroupStyle | 获取或设置控件的群组样式。 |
TestOn | Bool | 设置一个值,该值指示控件的端口测试开。 |
TestOff | Bool | 设置一个值,该值指示控件的端口测试关。 |
IsReadOnly | Bool | 设置一个值,该值指示控件的只读性。 |
CancelTest | Bool | 设置一个值,该值指示控件的端口取消测试。 |
CancelTestAll | Bool | 设置一个值,该值指示控件的端口取消测试全部。 |
SetPolarity | Bool | 设置一个值,该值指示控件的端口更新极性。 |
SelectedItemName | String | 获取控件的选中端口的名称。 |
SelectedItemPath | String | 获取控件的选中端口的别名寻址或#变量。 |
SelectedItemAddress | String | 获取控件的选中端口的寻址。 |
SelectedItemDesc | String | 获取控件的选中端口的描述。 |
SelectedItemValue | Bool | 获取一个值,该值指示控件的选中端口的值。 |
SelectedItemEnableWaveFilter | Bool | 获取或设置一个值,该值指示控件的选中端口的滤波使能。 |
SelectedItemSamplingInterval | Ushort | 获取或设置一个值,该值指示控件的选中端口的采样周期。 |
SetBitPortSampling | Bool | 设置一个值,该值指示控件的设置端口采样功能。 |
BitPort 端口对象接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
NodeString | String | 获取或设置描述端口节点的信息。 |
Name | String | 获取或设置端口名称。 |
Path | String | 获取或设置配置文件中的Path值,端口寻址路径。 |
Address | String | 获取或设置Phoenix完整寻址。 |
TestAddress | String | 获取或设置端口测试寻址路径。 |
PolarityAddress | String | 获取或设置端口极性寻址路径。 |
Desc | String | 获取或设置端口描述。 |
Value | Bool | 获取或设置一个值,该值指示端口的当前值。 |
IsTested | Bool | 获取一个值,该值指示端口是否是测试状态。 |
HasPolarity | Bool? | 获取一个值,该值指示端口的极性。 |
PolarityString | String | 获取端口极性字符串。 |
IsOutBitPort | Bool | 获取一个值,该值指示是否是输出端口。 |
IsReadOnly | Bool | 获取或设置一个值,该值指示是否是只读端口。 |
IsEnableWaveFilter | Bool | 获取或设置一个值,该值指示是否启用滤波使能。 |
InputSamplingString | String | 获取或设置采样信息。 |
SamplingInterval | Ushort | 获取或设置采样间隔。 |
代码示例:
<ui:BitPortListView Source="Users.BitPort" Interval="100">
<ui:BitPortListView.View>
<GridView>
<GridViewColumn Header="路径" CellTemplate="{StaticResource PortNameTemplate}" />
<GridViewColumn Header="极性" DisplayMemberBinding="{Binding PolarityString}" />
<GridViewColumn Header="采样" DisplayMemberBinding="{Binding InputSamplingString}" />
<GridViewColumn Header="描述" DisplayMemberBinding="{Binding Desc}" />
</GridView>
</ui:BitPortListView.View>
</ui:BitPortListView>
BitPortView 端口列表
BitPortView是呈现端口信息的列表控件。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
ManagerViewModel | BitPortViewModel | 获取控件的操作类对象。 |
BitPortListGroupStyle | GroupStyle | 获取或设置控件的群组样式。 |
Source | Object | 获取或设置控件的列表源。(赋值一个名为BitPortManager的G寻址) |
TestOn | Bool | 设置一个值,该值指示控件的端口测试开。 |
TestOff | Bool | 设置一个值,该值指示控件的端口测试关。 |
CancelTest | Bool | 设置一个值,该值指示控件的取消测试端口。 |
ExchangePolarity | Bool | 设置一个值,该值指示控件的更新端口极性。 |
CancelTestAll | Bool | 设置一个值,该值指示控件的取消所有测试端口。 |
IsReadOnly | Bool | 设置一个值,该值指示控件的选中项只读性。 |
UpdateSampleInfo | Bool | 设置一个值,该值指示控件的端口采样功能。 |
SelectedItemPath | String | 获取选中端口的路径。 |
SelectedItemDesc | String | 获取选中端口的描述。 |
SelectedItemValue | Bool | 获取一个值,该值指示控件的选中端口的值。 |
代码示例:
<ui:BitPortView BitPortListGroupStyle="{StaticResource BitportListGroupStyle}" Source="Phoenix.G.BitPortManager">
<ui:BitPortView.View>
<GridView>
<GridViewColumn Header="路径" CellTemplate="{StaticResource BitPortViewNameTemplate}" ></GridViewColumn>
<GridViewColumn Header="极性" DisplayMemberBinding="{Binding PolarityString}" ></GridViewColumn>
<GridViewColumn Header="采样" DisplayMemberBinding="{Binding SampleString}" ></GridViewColumn>
<GridViewColumn Header="描述" DisplayMemberBinding="{Binding Desc}" ></GridViewColumn>
</GridView>
</ui:BitPortView.View>
</ui:BitPortView>
CircularGaugeControl 仪表盘控件
接口列表
接口名称 | 类型 | 接口描述 |
---|---|---|
CurrentValue | Double | 获取或设置控件的当前的值。 |
MinValue | Double | 获取或设置控件的最小值。 |
MaxValue | Double | 获取或设置控件的最大值。 |
Radius | Double | 获取或设置仪表盘的半径。(通常配置150) |
PointerCapRadius | Double | 获取或设置仪表指针起点圆半径。 |
PointerLength | Double | 获取或设置指针的长度。 |
ScaleRadius | Double | 获取或设置刻度圆半径。 |
ScaleStartAngle | Double | 获取或设置刻度盘下方没有刻度的角度。(通常120) |
ScaleSweepAngle | Double | 获取或设置刻度圆展开角度。(通常300) |
MajorDivisionsCount | Double | 获取或设置主刻度的个数。 |
MinorDivisionsCount | Double | 获取或设置辅刻度的个数。 |
OptimalRangeEndValue | Double | 获取或设置警示报警的最大值。(下方一个圆圈切换颜色) |
OptimalRangeStartValue | Double | 获取或设置警示提示的开始值。(下方一个圆圈切换颜色) |
ImageSource | ImageSource | 获取或设置表盘中的图标。 |
ImageOffset | Double | 获取或设置图标偏移量,正直在下方,负值是上方。 |
ImageSize | Size | 获取或设置图标的尺寸。 |
RangeIndicatorLightOffset | Double | 获取或设置警示提示圆圈的偏移。(通常 80) |
RangeIndicatorRadius | Double | 获取或设置警示提示圆圈深颜色的半径。 |
RangeIndicatorLightRadius | Double | 获取或设置警示提示圆圈浅颜色的半径。 |
RangeIndicatorThickness | Double | 获取或设置警示提示圆圈的外边线粗细。 |
ScaleLabelRadius | Double | 获取或设置刻度值的圆弧半径。 |
ScaleLabelSize | Size | 获取或设置刻度值的大小。(通常“40,20”) |
ScaleLabelFontSize | Double | 获取或设置刻度值的字体大小。 |
ScaleLabelForeground | Color | 获取或设置刻度值的字体颜色。 |
MajorTickRectSize | Size | 获取或设置主刻度矩形大小。 |
MinorTickSize | Size | 获取或设置辅刻度矩形大小。 |
MajorTickColor | Color | 获取或设置主刻度颜色。 |
MinorTickColor | Color | 获取或设置辅刻度颜色。 |
GaugeBackgroundColor | Color | 获取或设置仪表盘的背景色。 |
PointerThickness | Double | 获取或设置指针的外边粗细。 |
ResetPointerOnStartUp | Bool | 获取或设置一个值,该值指示是否重设指针起始位置。 |
ScaleValuePrecision | Int | 获取或设置刻度值计算是保留小数位数。 |
BelowOptimalRangeColor | Color | 获取或设置低刻度圆弧边颜色。 |
OptimalRangeColor | Color | 获取或设置中刻度圆弧边颜色。 |
AboveOptimalRangeColor | Color | 获取或设置高刻度圆弧边颜色。 |
DialText | String | 获取或设置表盘中文字。 |
DialTextColor | Color | 获取或设置表盘中文字的颜色。 |
DialTextFontSize | Int | 获取或设置表盘中文字的字体大小。 |
DialTextOffset | Double | 获取或设置表盘中文字的偏移量。 |
代码示例:
<Viewbox>
<ui:CircularGaugeControl Grid.Row="0"
Radius="150"
ScaleRadius="110"
ScaleStartAngle="120"
ScaleSweepAngle="300"
PointerLength="85"
PointerCapRadius="35"
MinValue="0"
MaxValue="1000"
MajorDivisionsCount="10"
MinorDivisionsCount="5"
CurrentValue="{Binding Value,ElementName=slider1}"
ImageSource="windowslogo.png"
ImageSize="40,50"
RangeIndicatorThickness="8"
RangeIndicatorRadius="120"
RangeIndicatorLightRadius="10"
RangeIndicatorLightOffset="80"
ScaleLabelRadius="90"
ScaleLabelSize="40,20"
ScaleLabelFontSize="10"
ScaleLabelForeground="LightGray"
MajorTickSize="10,3"
MinorTickSize="3,1"
MajorTickColor="LightGray"
MinorTickColor="LightGray"
ImageOffset="-50"
GaugeBackgroundColor="Black"
PointerThickness ="16"
OptimalRangeStartValue="300"
OptimalRangeEndValue="700"
DialTextOffset="40"
DialText="Black"
DialTextColor="Black"
/>
</Viewbox>
CommonParameterView 常用参数列表
CommonParameterView是呈现和设置常用参数的列表控件。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | Object | 获取或设置控件的数据源。(Xml格式的文件) |
AddItems | IEnumerable | 设置控件要新增的参数集合。 |
DeleteItems | IEnumerable | 设置控件要删除的参数集合。 |
IsReadOnly | Bool | 获取或设置一个值,该值指示控件参数是否为只读。 |
函数:
函数名称 | 函数描述 | 参数 |
---|---|---|
Up | 上移 | |
Down | 下移 | |
Update | 保存常用参数文件并刷新视图 | ParameterSetContext(参数集合) |
代码示例:
<ui:CommonParameterView IsReadOnly="true" Source="{ui:PathBinding Pages\\CommonPara.cfg}">
<ui:CommonParameterView.View>
<GridView>
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Path}" Header="寻址" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Name}" Header="名称" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=DisplayValue}" Header="值" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Desc}" Header="描述" />
</GridView>
</ui:CommonParameterView.View>
</ui:CommonParameterView>
DiscommonParameterView 非常用参数列表
DiscommonParameterView是呈现和设置非常用参数的列表控件。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | Object | 获取或设置控件的数据源。(配置参数源文件) |
CommonFile | Object | 获取或设置控件的常用参数配置表。(配置xml格式的文件) |
AddItems | IEnumerable | 设置控件要新增的参数集合。 |
DeleteItems | IEnumerable | 设置控件要删除的参数集合。 |
IsReadOnly | Bool | 获取或设置一个值,该值指示控件参数是否为只读。 |
代码示例:
<ui:DiscommonParameterView Source="Users.ParameterView" CommonFile="{ui:PathBinding Pages\\CommonPara.cfg}" >
<ui:DiscommonParameterView.View>
<GridView>
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Path}" Header="寻址" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Name}" Header="名称" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=DisplayValue}" Header="值" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Desc}" Header="描述" />
</GridView>
</ui:DiscommonParameterView.View>
</ui:DiscommonParameterView>
EditFileControl 文件编辑控件
EditFileControl是编辑文本文件的控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Path | String | 获取或设置编辑文件的路径。 |
LineNo | String | 获取或设置控件的当前行号。 |
ColumnNo | String | 获取或设置控件的当前列号。 |
FileName | String | 获取或设置控件的文件名称。 |
IsTextChanged | Bool | 获取或设置一个值,该值指示控件是否支持修改。 |
FindString | String | 获取或设置控件的查找的字符串。 |
ReplaceString | String | 获取或设置控件要替换的内容。 |
SaveAsPath | String | 获取或设置控件的另存为路径。 |
PositionLineNo | Int | 获取或设置控件的定位行号。 |
TotalLineCount | Int | 获取控件的总行号。 |
StartFindWindow | Bool | 设置一个值,该值指示控件是否启动查询对话框。 |
FindNext | Bool | 设置一个值,该值指示控件是否查找下一个。 |
FindPrevious | Bool | 设置一个值,该值指示控件是否查找上一个。 |
Replace | Bool | 设置一个值,该值指示控件是否执行替换。 |
StartReplaceWindow | Bool | 设置一个值,该值指示控件是否启动替换窗口。 |
Cancel | Bool | 设置一个值,该值指示控件是否取消编辑。 |
InsertLine | Bool | 设置一个值,该值指示控件是否执行插入行。 |
CopyLine | Bool | 设置一个值,该值指示控件是否执行复制行。 |
DeleteLine | Bool | 设置一个值,该值指示控件是否执行删除行。 |
SaveFile | Bool | 设置一个值,该值指示控件是否执行保存。 |
SaveFileAs | Bool | 设置一个值,该值指示控件是否执行另存为。 |
ExitEdit | Bool | 设置一个值,该值指示控件是否执行退出。 |
StartPositionLineWindow | Bool | 设置一个值,该值指示控件是否执行启动。 |
PositionLine | Bool | 设置一个值,该值指示控件是否执行定位行。 |
EditFileControlUndo | Bool | 设置一个值,该值指示控件是否执行撤销。 |
EditFileControlCut | Bool | 设置一个值,该值指示控件是否执行剪切。 |
EditFileControlSelectAll | Bool | 设置一个值,该值指示控件是否执行全选。 |
EditFileControlCopy | Bool | 设置一个值,该值指示控件是否执行复制。 |
EditFileControlPaste | Bool | 设置一个值,该值指示控件是否执行粘贴。 |
Clear | Bool | 设置一个值,该值指示控件是否执行清除控件内容。 |
FindResult | Bool | 设置一个值,该值指示控件是否找到字符串。 |
ReplaceAll | Bool | 设置一个值,该值指示控件是否替换所有。 |
代码示例:
<ui:EditFileTextBox x:Name="EditTextBox">
</ui:EditFileTextBox>
FTextBox
FTextBox是支持方向键(上、下、左、右)移动焦点输入框。配合属性KeyboardNavigation.DirectionalNavigation="Cycle",在其容器中设置此属性,表示移动到第一个或最后一个,导航到最后一个或第一个。
代码示例:
<Grid KeyboardNavigation.DirectionalNavigation="Cycle">
<ui:FTextBox Width="80"/>
<ui:FTextBox Margin="0,60" Width="80"/>
</Grid>
FPasswordBox
FPasswordBox是支持方向键(上、下、左、右)移动焦点密码输入框。配合属性KeyboardNavigation.DirectionalNavigation="Cycle",在其容器中设置此属性,表示移动到第一个或最后一个,导航到最后一个或第一个。
代码示例:
<Grid KeyboardNavigation.DirectionalNavigation="Cycle">
<ui:FPasswordBox Width="80"/>
<ui:FPasswordBox Margin="0,60" Width="80"/>
</Grid>
FileList 文件列表
FileList是显示和编辑文件的列表。具体包括:
- FileList: 文件列表
- FileEntity: 列表的项。
FileList接口
接口名称 | 类型 | 接口描述 |
---|---|---|
DiskSize | String | 获取控件显示内容所在的磁盘大小。(格式: *M) |
RootDirectory | String | 获取或设置控件显示文件的根目录。 |
Filter | String | 获取或设置控件显示文件的类型。(Filter="*.g|*.eng|*.dxf|*.nc|") |
CurrentDirectory | String | 获取当前目录。 |
GotoPrevious | Bool | 设置一个值,该值指示控件是否返回上一级目录。 |
GotoNext | Bool | 设置一个值,该值指示控件是否切换下一级目录。 |
IsShowDirectory | Bool | 获取或设置一个值,该值指示控件是否显示目录。 |
FileEntity接口
接口名称 | 类型 | 接口描述 |
---|---|---|
ModifyTime | String | 获取列表控件的单个文件或目录的修改时间。 |
FileSize | String | 获取列表控件的单个文件或目录的文件大小 。 |
Name | String | 获取列表控件的单个文件或目录的名字。 |
FullPath | String | 获取列表控件的单个文件或目录的全路径。 |
SearchText | string | 获取用于定位查找的文本。 |
SortText | string | 获取用于排序的字符串。 |
代码示例:
<ui:FileList IsShowDirectory="False" Filter="*.g|*.eng|*.dxf|*.nc|*.plt|" RootDirectory="D:\NcFiles" >
<ui:FileList.View>
<GridView >
<GridViewColumn Width="350" DisplayMemberBinding="{Binding Path=Name}" Header="程序文件名" />
<GridViewColumn Width="130" DisplayMemberBinding="{Binding Path=FileSize}" Header="文件大小(单位:KB)" />
<GridViewColumn Width="300" DisplayMemberBinding="{Binding Path=ModifyTime}" Header="修改时间" />
</GridView>
</ui:FileList.View>
</ui:FileList>
HyperlinkControl 超链接
HyperlinkControl是通过鼠标左键单键事件跳转到指定链接地址。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
LinkUri | String | 获取或设置超链接的链接地址。 |
代码示例:
<ui:HyperlinkControl Text="维宏官网" LinkUri="http://www.baidu.com"/>
ListSourceDataGrid 以List为源的数据列表
显示和编辑加工任务列表控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
ItemSource | IEnumerable | 获取或设置控件的数据源。 |
代码示例:
<ui:ListSourceDataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Name}" Header="名称"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding No}" Header="编号"></DataGridTextColumn>
</DataGrid.Columns>
</ui:ListSourceDataGrid>
LogView 日志列表
LogView是日志列表,可以显示所有的日志信息。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
IsShowHistory | Bool | 获取或设置一个值,该值指示是否显示历史日志。 |
DefaultTypes | String | 获取或设置默认显示的日志类型,格式:使用逗号隔开类型。 |
Clean | Bool | 设置一个值,该值指示清除日志,将当前日志设置为历史日志。 |
CheckingTypes | String | 获取或设置检查指定类型是否显示。(格式:用逗号隔开类型) |
IsShown | Bool | 获取一个值,该值指示目标日志是否显示。 |
ExchangedFilter | String | 设置修改日志显示类型。 |
LogDetailWindowStyle | Style | 获取或设置日志详情窗口样式。 |
IsUseDefaultContextMenu | Bool | 获取或设置一个值,该值指示是否使用默认弹出菜单。 |
IsShowAll | Bool | 获取或设置一个值,该值指示是否显示全部。(Warning,Information,Error) |
IsShowError | Bool | 获取或设置一个值,该值指示是否显示错误。(Error) |
IsShowWarning | Bool | 获取或设置一个值,该值指示是否显示警告。(Warning) |
IsShowInformation | Bool | 获取或设置一个值,该值指示是否显示消息。(Information) |
MultiLine | Bool | 获取或设置一个值,该值指示是否是否支持Item多行显示。 |
选中的日志对象类型(LogElement)接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
IsHistoryLog | Bool | 获取或设置一个值,该值指示是否是历史日志。 |
CreateTime | String | 获取或设置日志创建时间。 |
Flag | String | 获取或设置日志标识。(如:Warn、Error) |
Type | LogType | 获取或设置日志类型。(0 Event、1 StateIn、2 StateOut) |
StateId | String | 获取或设置状态日志的状态id。 |
Text | String | 获取或设置日志内容。 |
Source | String | 获取或设置日志来源。 |
代码示例:
<ui:LogView x:Name="Logs" SelectedIndex = "0"
DefaultTypes="Warn,Error,TimeWarning,Warning,Information"
IsUseDefaultContextMenu=true
ScrollViewer.HorizontalScrollBarVisibility="Hidden">
<ListView.View>
<GridView >
<GridViewColumn Header=" 时间" Width="160" CellTemplate="{DynamicResource LogCreateTimeTemplate}"/>
<GridViewColumn Header="描述" Width="540" DisplayMemberBinding="{Binding Text}"/>
</GridView>
</ListView.View>
</ui:LogView>
LogBar 日志条
LogBar是在接受到日志时提示给用户信息的控件,可以通过配置不同的背景色前景色来警告提示给用户。
接口:
ViewScope是配置日纸条中不同类型呈现方式的类。
接口名称 | 类型 | 接口描述 |
---|---|---|
Flag | String | 获取或设置控件的日志类型。(类型:Warning、Information、Error) |
Foreground | Brush | 获取或设置控件的前景色。 |
Background | Brush | 获取或设置控件的背景色。 |
MinTime | Double | 获取或设置控件显示的最短时间。(单位: s) |
DefaultTime | Double | 获取或设置控件显示的默认时间。(单位: s) |
代码示例:
<ui:LogBar Name="lbrLogBar">
<ui:LogBar.ViewScopes>
<ui:ViewScope Flag="Error" Foreground="White" Background="Red" MinTime="1" DefaultTime="5" />
<ui:ViewScope Flag="Information" Foreground="Black" Background="#FFE8ECF0" MinTime="0.1" DefaultTime="4" />
<ui:ViewScope Flag="Warning" Foreground="Black" Background="Yellow" MinTime="0.1" DefaultTime="3" />
<ui:ViewScope Flag="TimeWarning" Foreground="Black" Background="Yellow" MinTime="0.1" DefaultTime="-1" />
</ui:LogBar.ViewScopes>
</ui:LogBar>
注意:
- Warn 、Error、Information为日志标准类型,可以自定义日志类型和呈现,只需添加一条TimeWarning即可。
- DefaultTime=-1时日志可以常驻显示。同时存在报警和常驻日志优先显示报警日志。
LocalFileList 本地盘文件列表
LocalFileList是显示本地盘中指定目录列表。具体包括:
- LocalFileList:本地盘文件列表。
- FileEntity:列表的项。
LocalFileList接口
接口名称 | 类型 | 接口描述 |
---|---|---|
DiskSize | String | 获取控件显示内容所在的磁盘大小。(格式: *M) |
RootDirectory | String | 获取或设置控件显示文件的根目录。 |
Filter | String | 获取或设置控件显示文件的类型。(Filter="*.g|*.eng|*.dxf|*.nc|") |
CurrentDirectory | String | 获取当前目录。 |
GotoPrevious | Bool | 设置一个值,该值指示控件是否返回上一级目录。 |
GotoNext | Bool | 设置一个值,该值指示控件是否切换下一级目录。 |
IsShowDirectory | Bool | 获取或设置一个值,该值指示控件是否显示目录。 |
FileEntity接口
接口名称 | 类型 | 接口描述 |
---|---|---|
ModifyTime | String | 获取列表控件的单个文件或目录的修改时间。 |
FileSize | String | 获取列表控件的单个文件或目录的文件大小 。 |
Name | String | 获取列表控件的单个文件或目录的名字。 |
FullPath | String | 获取列表控件的单个文件或目录的全路径。 |
SearchText | string | 获取用于定位查找的文本。 |
SortText | string | 获取用于排序的字符串。 |
代码示例:
<ui:LocalFileList VirtualizingStackPanel.IsVirtualizing="True" IsShowDirectory="False" VirtualizingStackPanel.VirtualizationMode="Recycling" Filter="*.g|*.eng|*.dxf|*.nc|*.plt|" RootDirectory="D:\NcFiles" >
<ui:LocalFileList.View>
<GridView>
<GridViewColumn Width="350"
DisplayMemberBinding="{Binding Path=Name}"
Header="程序文件名" />
<GridViewColumn Width="130"
DisplayMemberBinding="{Binding Path=FileSize}"
Header="文件大小(单位:KB)" />
<GridViewColumn Width="300"
DisplayMemberBinding="{Binding Path=ModifyTime}"
Header="修改时间" />
</GridView>
</ui:LocalFileList.View>
</ui:LocalFileList>
MachineStatListView 加工统计列表
MachineStatListView 是呈现加工统计信息列表控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
ListSerializedString | String | 获取或设置装载历史记录列表List。 |
加工任务列表统计信息记录(TaskListStatistics)接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Index | Int | 获取或设置加工记录表中的索引。 |
FilePath | String | 获取或设置文件名。 |
StartTime | DateTime | 获取或设置开始加工时间。 |
TotalMachineTime | Double | 获取或设置总加工累计计算时间。 |
TotalMachineLength | Double | 获取或设置总加工累计长度。 |
FinishedTime | Int | 获取或设置完成的次数。 |
代码示例:
<ui:MachineStatListView ListSerializedString="{ui:PhoenixObject Path=Phoenix.G.Channels[0].Auto.StatisticsRecordSerializedString}">
<ListView.View>
<GridView >
<GridViewColumn Header="{ia:L 序号}" Width="60" DisplayMemberBinding="{Binding Path=Index}" />
<GridViewColumn Header="{ia:L 程序名称}" Width="250" DisplayMemberBinding="{Binding Path=FilePath}" />
<GridViewColumn Header="{ia:L 加工开始时间}" Width="200" DisplayMemberBinding="{Binding Path=StartTime}"/>
<GridViewColumn Header="{ia:L 总加工时间}" Width="100" CellTemplate="{StaticResource ListViewCellItem}"/>
<GridViewColumn Header="{ia:L 总加工长度}" Width="100" CellTemplate="{StaticResource ListViewCellItem2}"/>
<GridViewColumn Header="{ia:L 加工件数}" Width="80" DisplayMemberBinding="{Binding Path=FinishedTime}"/>
</GridView>
</ListView.View>
</ui:MachineStatListView>
MachineTaskListDataGrid 加工任务列表
MachineTaskListDataGrid是显示和编辑加工任务列表控件。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
ListSerializedStringPath | String | 获取或设置控件序列化字符串寻址。 |
Update | Bool | 设置一个值,该值指示控件是否刷新列表。 |
CurrentTaskFileInfo | TaskFileInfo | 获取控件选中的任务中的加工文件。 |
TaskFileInfoUp | Bool | 设置一个值,该值指示控件是否文件上移。 |
TaskFileInfoDown | Bool | 设置一个值,该值指示控件是否文件下移。 |
AddTask | Bool | 设置一个值,该值指示控件是否添加任务。 |
AddTaskFile | String | 设置控件添加任务文件。 |
DeleteTask | Bool | 设置一个值,该值指示控件是否删除任务。 |
DeleteTaskFile | Bool | 设置一个值,该值指示控件删除指定任务的任务文件。 |
TaskInfo接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Index | Int | 获取或设置任务编号。 |
Name | String | 获取或设置任务名称。 |
ModifyTime | DateTime | 获取或设置任务最后修改时间。 |
ProcessMode | Int | 获取或设置任务加工方式。 |
Cycle | Int | 获取或设置任务循环加工次数。 |
Executed | Int | 获取或设置任务已循环次数。 |
CurrentFileIndex | Int | 获取或设置正在加工的刀路文件编号。 |
代码示例:
<ui:MachineTaskListDataGrid ListSerializedStringPath="Phoenix.G.MTest.CurentTaskSerializedString" >
<ui:MachineTaskListDataGrid.Columns>
<DataGridTextColumn Width="50" Header="编号" Binding="{Binding Index}"></DataGridTextColumn>
<DataGridTextColumn Width="200" Header="任务列表" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Width="100" Header="修改时间" Binding="{Binding ModifyTime}"></DataGridTextColumn>
</ui:MachineTaskListDataGrid.Columns>
</ui:MachineTaskListDataGrid>
MultiProgressBar 双值进度条
MultiProgressBar是支持反馈两个进度值的进度条。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
Value | String | 设置或获取进度值 |
Value1 | String | 设置或获取进度值1 |
Foreground | Int | 设置或获取前景色 |
Foreground1 | String | 设置或获取前景色1 |
ProgressToolTipStyle | Bool | 设置或获取,提示进度的值的label的样式。 |
ProgressToolTipStyle1 | Bool | 设置或获取,提示进度的值1的label的样式。 |
NetWorkFileList 网络盘文件列表
NetWorkFileList 是支持动态选择本地盘,移动U盘和网络盘文件夹来显示的列表。具体包括:
- NetWorkFileList:网络盘文件列表
- FileEntity:列表的项
|
NetWorkFileList的接口
接口名称 | 类型 | 接口描述 |
---|---|---|
DiskSize | String | 获取控件显示内容所在的磁盘大小。(格式: *M) |
RootDirectory | String | 获取或设置控件显示文件的根目录。 |
Filter | String | 获取或设置控件显示文件的类型。(Filter="*.g|*.eng|*.dxf|*.nc|") |
CurrentDirectory | String | 获取当前目录。 |
GotoPrevious | Bool | 设置一个值,该值指示控件是否返回上一级目录。 |
GotoNext | Bool | 设置一个值,该值指示控件是否切换下一级目录。 |
IsShowDirectory | Bool | 获取或设置一个值,该值指示控件是否显示目录。 |
FileEntity的接口
接口名称 | 类型 | 接口描述 |
---|---|---|
ModifyTime | String | 获取列表控件的单个文件或目录的修改时间。 |
FileSize | String | 获取列表控件的单个文件或目录的文件大小 。 |
Name | String | 获取列表控件的单个文件或目录的名字。 |
FullPath | String | 获取列表控件的单个文件或目录的全路径。 |
SearchText | string | 获取用于定位查找的文本。 |
SortText | string | 获取用于排序的字符串。 |
代码示例:
<ui:NetWorkFileList Filter="*.g|*.eng|*.dxf|*.plt|" Width="795" Height="340" FontSize="14" >
<ui:NetWorkFileList.View>
<GridView>
<GridViewColumn Width="350"
DisplayMemberBinding="{Binding Path=Name}"
Header="程序文件名" />
<GridViewColumn Width="130"
DisplayMemberBinding="{Binding Path=FileSize}"
Header="文件大小(单位:KB)" />
<GridViewColumn Width="300"
DisplayMemberBinding="{Binding Path=ModifyTime}"
Header="修改时间" />
</GridView>
</ui:NetWorkFileList.View>
</ui:NetWorkFileList>
NumericTextBox 数值输入框
NumericTextBox是数值输入框控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
IsInteger | Bool | 获取或设置一个值, 该值指示控件是否只允许输入整数。(True:只能输入整数;False:可以输入小数和整数) |
NumberOfVaildDecimal | Int | 获取或设置控件的有效小数位数。(0:不限制) |
代码示例:
<ui:NumericTextBox Height="40" Width="80" Text="" NumberOfVaildDecimal="3" IsInteger="False" ></ui:NumericTextBox>
Password 密码功能
密码功能是提供Nstudio中的密码机制。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
ShowModifyPasswordWindow | Bool | 设置一个值,该值指示是否弹出修改密码对话框。(默认对话框) |
IsRememberState | Bool | 设置一个值,该值指示是否记住验证密码状态。 |
Flag | String | 获取或设置密码的标示符。(制造商密码,开发商密码,通过设置这个来区分) |
State | Bool | 获取一个值,该值指示是否验证通过。 |
Value | String | 获取密码值。 |
DefaultValue | String | 获取或设置密码的默认值。(默认值为ncstudio) |
InputPassword | String | 设置输入密码验证。 |
Modify | ModifyPassword | 获取修改密码的对象。 |
IsSystemValid | Bool | 获取或设置一个值,该值指示是否是系统有效。 |
ModifyPassword修改密码接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Value | String | 获取或设置修改的新密码值。 |
Start | Bool | 设置一个值,该值指示是否修改密码。 |
默认对话框代码示例:
Phoenix.G.Password.ShowModifyPasswordWindow = true;
自定义对话框代码示例:
Phoenix.G.Password.Modify.Value = "******"
Phoenix.G.Password.Modify.Start = true;
密码验证说明:
Phoenix.G.Password.InputPassword = "*****"
if Phoenix.G.Password.State then
...验证成功
end
ParameterComboBox 参数下拉框
ParameterComboBox是设置和呈现具有固定参数选项(枚举类型)的参数控件。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
接口:
接口名称 | 类型 | 描述 |
---|---|---|
LuaPath | String | 获取或设置控件绑定的控制数据源。 |
UpdateInterval | Uint | 获取或设置控件的刷新间隔 。 |
ParameterValue | Object | 获取或设置控件的参数实际值 。 |
TextConverter | IValueConverter | 获取或设置控件的文本转换器 。 |
OwnerWindow | Window | 获取或设置控件的根目录,为对话框提供宿主 。 |
代码示例:
<ui:ParameterComboBox TextConverter="{StaticResource StatusConverter}"
LuaPath="Phoenix.G.Channels[0].State"
ItemsSource="{Binding Source={StaticResource ChannelStateEnum},Converter={StaticResource StatusConverter}}" />
</ui:ParameterComboBox>
ParameterGrid 参数网格
ParameterGrid是为以网格的方式呈现参数而提供的控件。每个单元格对应一个参数,同一列的参数具有相同的参数配置表,同一行的参数通常为同一对象的不同属性。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
接口:
接口名称 | 类型 | 描述 |
---|---|---|
Source | Object | 获取或设置配置表路径。 |
ShowLineNo | String | 获取或设置显示的行号。 |
ShowCount | Int | 获取或设置显示行数。 |
代码示例:
<ui:ParameterGrid Source="ToolGrid" ShowCount="5" ShowLineNo="0,1,2,3,5,8,9"/>
注意:
ShowCount和ShowLineNo同时设置时,只有ShowLineNo生效。以代码示例为例,因为同时设置了ShowCount和ShowLineNo,只有ShowLineNo生效,显示第0、1、2、3、5、8、9行的数据。
代码示例:
ToolGrid =
{
Columns=
{ -- 列配置
[0] =
{
Name = "刀具编号",
Desc = "当前刀具的刀具序号",
Condition = CanEditTool,
...
};
[1] = {...};
[2] = {...};
[3] = {...};
}
Rows=
{ -- 行配置
[0] =
{
[0] = "Phoenix.L.Tools[0].ID",
[1] = "Phoenix.L.Tools[0].Name",
[2] = "Phoenix.L.Tools[0].Radius",
[3] = "Phoenix.L.Tools[0].RadiusReduce",
};
[1] = {...};
[2] = {...};
[3] = {...};
}
}
注意:
- 列配置中支持的项与普通参数配置相同,列头显示的值与配置中的Name相同。
- 行配置的路径是参数在容器中的路径。
- 上例中配置了一个4行4列的参数网格,第一行第二列对应的参数路径为"Phoenix.L.Tools[0].Name"。
- 双击单元格会弹出参数修改对话框,进行修改后将会改变对应寻址路径数据的值。
ParameterButton 参数按钮
ParameterButton是为寻址参数的显示和修改提供的控件。
约定: 参数通用编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | String | 获取或设置控件的寻址参数。(该寻址参数可动态改变) |
UpdateInterval | Uint? | 获取或设置控件刷新的时间间隔。(单位: ms) |
AutoBoolReverse | Bool | **已过时。**获取或设置一个值,该值指示控件是否支持自动取反。 |
ParameterValue | Object | 获取或设置控件的参数实际值。(与未经过参数配置的Format和Multiple转换) |
代码示例:
<ui:ParameterButton UpdateInterval="100" Source="Phoenix.G.Channels[0].Auto.File.Name" />
参数在Lua中配置代码示例: 以Phoenix.G.Ch0.Auto.Data.SpeedGxx寻址为例
["Phoenix.G.Ch0.Auto.Data.SpeedGxx"] = {
Name = "进给速度", -- 名称
Desc = "机床加工时的默认速度,即Gxx速度。", -- 描述
Tag = "Operator,Manufacturer,OT", -- 权限和类别
Unit = "mm/min", -- 单位
Multiple = "60", -- 转换倍率
Check = "(0, 1000)", -- 检测函数
Format = "%f2", -- 格式字符串
Condition = [[function CanEdit1() -- 编辑条件
...
return true
end]],
EffectTime = "Restart" -- 生效时间
};
**注意: **
- Check函数默认五种基础检测配置:
- 全开(a,b)
- 全闭[a,b]
- 左开右闭(a,b]
- 左闭右开[a,b)
- 枚举{a,b,c}
- Check也可以像Condition一样配置函数。
- 通用的编辑条件配置在Scripts.Lua中的Scripts.EditCondition函数中,如果需要其他条件,可通过配置Condition来新增编辑条件。
- EffectTime默认为立即生效。可配置:
- Now(立即生效)
- Reloaded(重新装载)
- Restart(重启生效)
- RestartPower(断电重启)
ParameterView 参数列表
ParameterView是呈现和设置参数列表控件,通过配置lua表源数据进行显示。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | String | 获取或设置控件的源。(支持动态改变) |
DataFilter | String | 获取或设置控件显示的类型参数。 |
LevelFilter | String | 获取或设置控件显示的权限参数。 |
SearchParameter | SearchContext | 获取控件查询功能的参数。(支持参数寻址、名称和描述查询) |
ShowSearchDialog | Bool | 设置一个值,该值指示控件是否启动参数查询窗体。 |
CurrentItem | ParameterContext | 获取控件选中的参数。 |
UpdateEventList | List<UpdateEvent> | 获取或设置控件更新的事件列表。 |
UpdateEvent 更新类的接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Path | Object | 获取或设置一个寻址,该寻址指示更新事件。 |
代码示例:
<ui:ParameterView Name="pvTest" DataFilter="Operate,Axis" LevelFilter="Operator" Source="Users.ParameterView">
<ui:ParameterView.View>
<GridView >
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Path}" Header="寻址" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Name}" Header="名称" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=DisplayValue}" Header="值" />
<GridViewColumn Width="Auto" DisplayMemberBinding="{Binding Path=Desc}" Header="描述" />
</GridView>
</ui:ParameterView.View>
<ui:ParameterView.UpdateEventList>
<ui:UpdateEvent Path="Phoenix.G.Channels[0].UpdateStringChanged" />
</ui:ParameterView.UpdateEventList>
</ui:ParameterView>
Register 注册功能
Register 是提供Nstudio中的注册机制。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
DeviceNo | String | 获取设备的号码。 |
RegCode | String | 设置输入的注册号。 |
RegResult | Bool | 获取一个值,该值指示注册的结果。 |
Show | Bool | 设置一个值,该值指示是否弹出注册的默认对话框。 |
代码示例:
Phoenix.G.Register.Show= true;
RemovableFileList 移动盘文件列表
RemovableFileList 是显示移动U盘中文件和文件夹的列表。具体包括:
- RemovableFileList:移动盘文件列表
- FileEntity:列表的项
|
RemovableFileList接口
接口名称 | 类型 | 接口描述 |
---|---|---|
DiskSize | String | 获取控件显示内容所在的磁盘大小。(格式: *M) |
RootDirectory | String | 获取或设置控件显示文件的根目录。 |
Filter | String | 获取或设置控件显示文件的类型。(Filter="*.g|*.eng|*.dxf|*.nc|") |
CurrentDirectory | String | 获取当前目录。 |
GotoPrevious | Bool | 设置一个值,该值指示控件是否返回上一级目录。 |
GotoNext | Bool | 设置一个值,该值指示控件是否切换下一级目录。 |
IsShowDirectory | Bool | 获取或设置一个值,该值指示控件是否显示目录。 |
FileEntity接口
接口名称 | 类型 | 接口描述 |
---|---|---|
ModifyTime | String | 获取列表控件的单个文件或目录的修改时间。 |
FileSize | String | 获取列表控件的单个文件或目录的文件大小 。 |
Name | String | 获取列表控件的单个文件或目录的名字。 |
FullPath | String | 获取列表控件的单个文件或目录的全路径。 |
SearchText | string | 获取用于定位查找的文本。 |
SortText | string | 获取用于排序的字符串。 |
代码示例:
<ui:RemovableFileList VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" Filter="*.g|*.eng|*.dxf|*.nc|*.plt|" Width="795" Height="340" FontSize="14">
<ui:RemovableFileList.View >
<GridView>
<GridViewColumn Width="350"
DisplayMemberBinding="{Binding Path=Name}"
Header="程序文件名" />
<GridViewColumn Width="130"
DisplayMemberBinding="{Binding Path=FileSize}"
Header="文件大小(单位:KB)" />
<GridViewColumn Width="300"
DisplayMemberBinding="{Binding Path=ModifyTime}"
Header="修改时间" />
</GridView>
</ui:RemovableFileList.View>
</ui:RemovableFileList>
SearchContext 参数查询:
参数列表的一个查询功能,目前支持寻址、参数名称和描述查询(可中文关键字、拼音首字母的模糊查询)。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
SearchTag | String | 获取或设置查找的方式。(类型: Name、Desc、Path) |
SearchVaule | String | 设置查找的值。 |
参数查询代码示例:
pvTest.SearchParameter.SearchTag = "Name";
pvTest.SearchParameter.SearchVaule = "回退距离";
SearchParamControl 参数查询控件
SearchParamControl控件是搜索列表中参数的控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
Source | ParameterView | 获取或设置控件的数据源。 |
ButtonUpStyle | Style | 获取或设置控件的向上查询按钮样式。 |
ButtonDownStyle | Style | 获取或设置控件的向下查询按钮样式。 |
TextBoxStyle | Style | 获取或设置控件的输入框样式。 |
代码示例:
<ui:SearchParamControl Source="{Binding ElementName=pvTest}" ></ui:SearchParamControl >
ScriptMenu 可配置菜单
ScriptMenu是支持Lua脚本配置菜单提供的控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
ScriptPath | String | 获取或设置控件的配置脚本路径。 |
代码示例:
<ui:ScriptMenu ScriptPath="Menus" />
Lua配置菜单:
Menus={
[1] = {
Text="文件",
Items={
[1]={
Text="打开并装载(O)",
State = function()
local state = Phoenix.G.Ch0.State
if state ~= IDLE then
return DISABLED
end
return ENABLED
end,
};
[2]= ...
...
};
};
};
[2] = { ... }
...
};
注意:
- 菜单子项的配置,包含Text、State、Action、Image。
- Text是界面呈现内容;State是状态控制函数(ENABLED、DISABLED、CHECKED);Action是菜单行为函数;Image是界面的图标。
ScriptButton 可配置按钮
ScriptButton是可以通过Lua表进行配置的按钮控件。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
StateFunction | String | 获取或设置控件的状态函数。 |
ActionFunction | String | 获取或设置控件的点击函数。(优先于SetPhoenix) |
State | ScriptItemState | 获取或设置控件的按钮状态。(默认为ENABLED) |
AutoReverse | Bool | 获取一个值,该值指示控件是否支持自动取反。 |
SetPhoenix | String | 获取或设置控件的寻址路径。 |
SetPhoenixValue | Object | 获取或设置控件寻址的值。 |
OwnerPage | XPage | 获取或设置控件的父页面。 |
ActionParameter0 | Object | 获取或设置控件的动作函数参数0。 |
ActionParameter1 | Object | 获取或设置控件的动作函数参数1。 |
ActionParameter2 | Object | 获取或设置控件的动作函数参数2。 |
ActionParameter3 | Object | 获取或设置控件的动作函数参数3。 |
ActionParameter4 | Object | 获取或设置控件的动作函数参数4。 |
ActionParameter5 | Object | 获取或设置控件的动作函数参数5。 |
ActionParameter6 | Object | 获取或设置控件的动作函数参数6。 |
ActionParameter7 | Object | 获取或设置控件的动作函数参数7。 |
ScriptItemState按钮状态说明
接口名称 | 描述 |
---|---|
ENABLED(0) | 可用 |
CHECKED(1) | 选中 |
DISABLED(2) | 不可用 |
CHECKEDANDDISABLED(3) | 选中不可用 |
代码示例:
<ui:ScriptButton StateFunction="Functions.State" ActionFunction="Functions.Action" ActionParameter0 = "0"/>
<ui:ScriptButton StateFunction="Functions.State" SetPhoenix="Phoenix.G.Channels[0].FileName" SetPhoenixValue="pp.nc"/>
** Lua表说明:**
Functions ={
State = function()
...
return CHECKED
end,
Action = function(o,a)
...
Phoenix.G.Channels[0].Auto.File.Name = a
end
};
ScriptContextMenu 可配置上下文菜单
ScriptContextMenu是为支持通过Lua脚本配置上下文菜单提供的控件。
接口列表
接口名称 | 类型 | 描述 |
---|---|---|
ScriptPath | String | 获取或设置菜单配置脚本路径。 |
代码示例
<StackPanel.ContextMenu>
<ui:ScriptContextMenu ScriptPath="Menus" />
</StackPanel.ContextMenu>
配置示例
Menus = {
[1] = {
Text = L("文件(_F)"),
Items = {
[1] = Scripts.MenuPage.Item_OpenAndLoad;
[2] = ...
...
};
};
[2] = { ... }
...
};
注意:
- ScriptContextMenu配置表中的子项,可以是包含单个菜单项配置的项,此时配置项为菜单子项;也可以是包含Items多个菜单项配置的项,此时配置项为子菜单。
- 菜单子项的配置,包含Text、State、Action。其中,Text是界面呈现内容;State是状态控制函数,函数通过返回值控制菜单项是否选中,可以返回ENABLED(普通)、DISABLED(禁用)、CHECKED(选中),不需要控制状态时可以为空;Action是菜单行为函数,若未空,单击对应菜单项不做任何操作。
StateButton 状态按钮控件
StateButton是显示状态的按钮控件。
接口:
接口名称 | 类型 | 接口描述 |
---|---|---|
StateFunction | String | 获取或设置控件的状态函数。 |
State | ScriptItemState | 获取或设置控件的按钮状态。(默认为ENABLED) |
ScriptItemState按钮状态说明:
接口名称 | 描述 |
---|---|
ENABLED(0) | 可用 |
CHECKED(1) | 选中 |
DISABLED(2) | 不可用 |
CHECKEDANDDISABLED(3) | 选中不可用 |
代码示例:
<ui:StateButton StateFunction="StateFunction" >
Lua表说明:
StateFunction = function()
return CHECKED
end
UpdateSoftware 软件升级控件
UpdateSoftware是显示软件升级的控件。
接口列表:
接口名称 | 类型 | 接口描述 |
---|---|---|
SelectedPath | String | 获取选择的路径。 |
Update | String | 设置升级的文件路径。 |
RemovableDisks | List |
获取或设置移动盘列表。 |
SwitchRDisk | Bool | 设置一个值,该值指示控件是否切换移动盘。 |
RDiskSymbol | String | 获取或设置移动盘符。 |
StartWatcher | Bool | 设置一个值,该值指示控件是否开启监视。 |
StopWatcher | Bool | 设置一个值,该值指示控件是否停止监视。 |
代码示例:
<ui:UpdateSoftware Name="UpdateSoftware"/>