AUXIndexView.xaml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582
  1. <UserControl
  2. x:Class="FurnaceUI.Views.Parameter.AUXIndexView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:cal="http://www.caliburn.org"
  6. xmlns:converter="clr-namespace:FurnaceUI.Converter"
  7. xmlns:converter1="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Converter;assembly=MECF.Framework.UI.Client"
  8. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  9. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  10. xmlns:local="clr-namespace:FurnaceUI.Views.Parameter"
  11. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  12. Width="1280"
  13. Height="840"
  14. mc:Ignorable="d">
  15. <UserControl.Resources>
  16. <Style BasedOn="{StaticResource ExOnlyVerticalScrollBar}" TargetType="ScrollBar"/>
  17. <converter:StringTVisibilityConvert x:Key="StringTVisibilityConvert"/>
  18. </UserControl.Resources>
  19. <Border>
  20. <Grid Margin="5,0,0,0">
  21. <Grid.RowDefinitions>
  22. <RowDefinition Height="45"/>
  23. <RowDefinition/>
  24. </Grid.RowDefinitions>
  25. <Border Grid.Row="0">
  26. <StackPanel Orientation="Horizontal">
  27. <RadioButton
  28. Width="100"
  29. Content="AUX Setting"
  30. GroupName="topBtnGroup"
  31. IsChecked="{Binding IsFirstCheck, UpdateSourceTrigger=PropertyChanged}">
  32. <i:Interaction.Triggers>
  33. <i:EventTrigger EventName="Checked">
  34. <cal:ActionMessage MethodName="SwitchListView">
  35. <cal:Parameter Value="setting"/>
  36. </cal:ActionMessage>
  37. </i:EventTrigger>
  38. </i:Interaction.Triggers>
  39. </RadioButton>
  40. <!--<RadioButton
  41. Width="100"
  42. Margin="10,0,0,0"
  43. Content="AUX Status"
  44. GroupName="topBtnGroup">
  45. <i:Interaction.Triggers>
  46. <i:EventTrigger EventName="Checked">
  47. <cal:ActionMessage MethodName="SwitchListView">
  48. <cal:Parameter Value="status" />
  49. </cal:ActionMessage>
  50. </i:EventTrigger>
  51. </i:Interaction.Triggers>
  52. </RadioButton>-->
  53. </StackPanel>
  54. </Border>
  55. <Border
  56. Grid.Row="1"
  57. Margin="0,8,0,0"
  58. Visibility="{Binding IsSelectConfig, Converter={StaticResource bool2VisibilityConverter}}">
  59. <Grid>
  60. <Grid.RowDefinitions>
  61. <RowDefinition Height="Auto"/>
  62. <RowDefinition Height="*"/>
  63. </Grid.RowDefinitions>
  64. <ListBox ItemsSource="{Binding TableBtnNodes}">
  65. <ListBox.ItemsPanel>
  66. <ItemsPanelTemplate>
  67. <StackPanel Orientation="Horizontal"/>
  68. </ItemsPanelTemplate>
  69. </ListBox.ItemsPanel>
  70. <ListBox.ItemTemplate>
  71. <DataTemplate>
  72. <RadioButton
  73. Width="70"
  74. Height="30"
  75. Margin="0,0,5,5"
  76. Content="{Binding Name}"
  77. GroupName="AUXConfigTableBtnGroup"
  78. IsChecked="{Binding IsSelected}"
  79. ToolTip="{Binding Name}">
  80. <i:Interaction.Triggers>
  81. <i:EventTrigger EventName="Checked">
  82. <cal:ActionMessage MethodName="SwitchTable">
  83. <cal:Parameter Value="$source"/>
  84. </cal:ActionMessage>
  85. </i:EventTrigger>
  86. </i:Interaction.Triggers>
  87. </RadioButton>
  88. </DataTemplate>
  89. </ListBox.ItemTemplate>
  90. </ListBox>
  91. <Grid Grid.Row="1" Margin="10,3">
  92. <Grid.ColumnDefinitions>
  93. <ColumnDefinition Width="*"/>
  94. <ColumnDefinition Width="Auto"/>
  95. </Grid.ColumnDefinitions>
  96. <ListView
  97. x:Name="configList"
  98. Grid.Column="0"
  99. Height="740"
  100. HorizontalContentAlignment="Stretch"
  101. IsSynchronizedWithCurrentItem="True"
  102. ItemsSource="{Binding TableDataViewSource}"
  103. ScrollViewer.CanContentScroll="True"
  104. ScrollViewer.HorizontalScrollBarVisibility="Hidden"
  105. ScrollViewer.VerticalScrollBarVisibility="Hidden"
  106. VirtualizingPanel.IsVirtualizing="True"
  107. VirtualizingPanel.VirtualizationMode="Recycling">
  108. <i:Interaction.Behaviors>
  109. <local:AutoScrollBehavior/>
  110. </i:Interaction.Behaviors>
  111. <ListView.ItemContainerStyle>
  112. <Style BasedOn="{StaticResource {x:Type ListViewItem}}" TargetType="{x:Type ListViewItem}">
  113. <Setter Property="Visibility" Value="{Binding Items[4].CurrentValue, Converter={StaticResource StringTVisibilityConvert}}"/>
  114. <Setter Property="cal:Message.Attach" Value="[Event PreviewMouseDown] = [Action SelectionChangedHandle($dataContext,configList.SelectedValue)]"/>
  115. </Style>
  116. </ListView.ItemContainerStyle>
  117. <ListView.Resources>
  118. <Style TargetType="ScrollViewer">
  119. <Setter Property="PanningMode" Value="VerticalOnly"/>
  120. </Style>
  121. <Style TargetType="{x:Type ScrollBar}">
  122. <Setter Property="SnapsToDevicePixels" Value="True"/>
  123. <Setter Property="OverridesDefaultStyle" Value="True"/>
  124. </Style>
  125. </ListView.Resources>
  126. <ListView.View>
  127. <GridView>
  128. <GridView.Columns>
  129. <GridViewColumn Width="45" Header="No">
  130. <GridViewColumn.CellTemplate>
  131. <DataTemplate>
  132. <TextBlock
  133. Height="40"
  134. Padding="10"
  135. Text="{Binding Name}"/>
  136. </DataTemplate>
  137. </GridViewColumn.CellTemplate>
  138. </GridViewColumn>
  139. <GridViewColumn Width="300" Header="Name">
  140. <GridViewColumn.CellTemplate>
  141. <DataTemplate>
  142. <Border
  143. Margin="-7,0,0,0"
  144. BorderBrush="#CCCCCC"
  145. BorderThickness="1,0,0,0">
  146. <Label
  147. Width="auto"
  148. HorizontalContentAlignment="Center"
  149. Content="{Binding Items[0].CurrentValue}"/>
  150. </Border>
  151. </DataTemplate>
  152. </GridViewColumn.CellTemplate>
  153. </GridViewColumn>
  154. <GridViewColumn Width="160" Header="Set">
  155. <GridViewColumn.CellTemplate>
  156. <DataTemplate>
  157. <Border
  158. Margin="-7,0,0,0"
  159. BorderBrush="#CCCCCC"
  160. BorderThickness="1,0,0,0">
  161. <Grid>
  162. <Grid.ColumnDefinitions>
  163. <ColumnDefinition Width="110"/>
  164. <ColumnDefinition Width="50"/>
  165. </Grid.ColumnDefinitions>
  166. <Label
  167. Grid.Column="0"
  168. HorizontalContentAlignment="Center"
  169. Content="{Binding Items[5].CurrentValue}"/>
  170. <Label
  171. Grid.Column="1"
  172. HorizontalContentAlignment="Right"
  173. Content="{Binding Items[3].CurrentValue}"/>
  174. </Grid>
  175. </Border>
  176. </DataTemplate>
  177. </GridViewColumn.CellTemplate>
  178. </GridViewColumn>
  179. <GridViewColumn Width="180" Header="Warning Low Limit">
  180. <GridViewColumn.CellTemplate>
  181. <DataTemplate>
  182. <Border
  183. Margin="-7,0,0,0"
  184. BorderBrush="#CCCCCC"
  185. BorderThickness="1,0,0,0">
  186. <Label
  187. MinWidth="150"
  188. HorizontalContentAlignment="Center"
  189. Content="{Binding Items[6].CurrentValue}"/>
  190. </Border>
  191. </DataTemplate>
  192. </GridViewColumn.CellTemplate>
  193. </GridViewColumn>
  194. <GridViewColumn Width="180" Header="Warning High Limit">
  195. <GridViewColumn.CellTemplate>
  196. <DataTemplate>
  197. <Border
  198. Margin="-7,0,0,0"
  199. BorderBrush="#CCCCCC"
  200. BorderThickness="1,0,0,0">
  201. <Label
  202. Grid.Column="0"
  203. Width="150"
  204. HorizontalContentAlignment="Center"
  205. Content="{Binding Items[7].CurrentValue}"/>
  206. </Border>
  207. </DataTemplate>
  208. </GridViewColumn.CellTemplate>
  209. </GridViewColumn>
  210. <GridViewColumn Width="180" Header="Alarm Low Limit">
  211. <GridViewColumn.CellTemplate>
  212. <DataTemplate>
  213. <Border
  214. Margin="-7,0,0,0"
  215. BorderBrush="#CCCCCC"
  216. BorderThickness="1,0,0,0">
  217. <Label
  218. Grid.Column="0"
  219. Width="150"
  220. HorizontalContentAlignment="Center"
  221. Content="{Binding Items[8].CurrentValue}"/>
  222. </Border>
  223. </DataTemplate>
  224. </GridViewColumn.CellTemplate>
  225. </GridViewColumn>
  226. <GridViewColumn Width="180" Header="Alarm High Limit">
  227. <GridViewColumn.CellTemplate>
  228. <DataTemplate>
  229. <Border
  230. Margin="-7,0,-10,0"
  231. BorderBrush="#CCCCCC"
  232. BorderThickness="1,0,1,0">
  233. <Label
  234. Grid.Column="0"
  235. Width="180"
  236. HorizontalContentAlignment="Center"
  237. Content="{Binding Items[9].CurrentValue}"/>
  238. </Border>
  239. </DataTemplate>
  240. </GridViewColumn.CellTemplate>
  241. </GridViewColumn>
  242. </GridView.Columns>
  243. </GridView>
  244. </ListView.View>
  245. </ListView>
  246. <Grid Grid.Column="1" Margin="0,3">
  247. <Grid.RowDefinitions>
  248. <RowDefinition Height="*"/>
  249. <RowDefinition Height="*"/>
  250. <RowDefinition Height="*"/>
  251. <RowDefinition Height="*"/>
  252. </Grid.RowDefinitions>
  253. <Button
  254. Grid.Row="0"
  255. Width="40"
  256. HorizontalAlignment="Left"
  257. Background="#FF376091"
  258. Command="{Binding MoveCurrentToFirstCommand}">
  259. <Button.Content>
  260. <Canvas>
  261. <Image
  262. Canvas.Left="-7"
  263. Canvas.Top="-25"
  264. Width="15"
  265. Height="15"
  266. HorizontalAlignment="Center"
  267. VerticalAlignment="Top"
  268. RenderTransformOrigin="0.5,0.5"
  269. Source="/FurnaceUI;component/Resources/images/1.png">
  270. <Image.RenderTransform>
  271. <TransformGroup>
  272. <ScaleTransform/>
  273. <SkewTransform/>
  274. <RotateTransform Angle="180"/>
  275. <TranslateTransform/>
  276. </TransformGroup>
  277. </Image.RenderTransform>
  278. </Image>
  279. <Image
  280. Canvas.Left="-7"
  281. Canvas.Top="-2"
  282. Width="15"
  283. Height="15"
  284. HorizontalAlignment="Center"
  285. VerticalAlignment="Top"
  286. RenderTransformOrigin="0.5,0.5"
  287. Source="/FurnaceUI;component/Resources/images/1.png">
  288. <Image.RenderTransform>
  289. <TransformGroup>
  290. <ScaleTransform/>
  291. <SkewTransform/>
  292. <RotateTransform Angle="180"/>
  293. <TranslateTransform/>
  294. </TransformGroup>
  295. </Image.RenderTransform>
  296. </Image>
  297. </Canvas>
  298. </Button.Content>
  299. </Button>
  300. <Button
  301. Grid.Row="1"
  302. Width="40"
  303. HorizontalAlignment="Left"
  304. Background="#FF376091"
  305. Command="{Binding MoveCurrentToPrevioustCommand}">
  306. <Button.Content>
  307. <Canvas>
  308. <Image
  309. Canvas.Left="-7"
  310. Canvas.Top="-5"
  311. Width="15"
  312. Height="15"
  313. HorizontalAlignment="Center"
  314. VerticalAlignment="Top"
  315. RenderTransformOrigin="0.5,0.5"
  316. Source="/FurnaceUI;component/Resources/images/1.png">
  317. <Image.RenderTransform>
  318. <TransformGroup>
  319. <ScaleTransform/>
  320. <SkewTransform/>
  321. <RotateTransform Angle="180"/>
  322. <TranslateTransform/>
  323. </TransformGroup>
  324. </Image.RenderTransform>
  325. </Image>
  326. </Canvas>
  327. </Button.Content>
  328. </Button>
  329. <Button
  330. Grid.Row="2"
  331. Width="40"
  332. HorizontalAlignment="Left"
  333. Background="#FF376091"
  334. Command="{Binding MoveCurrentToNextCommand}">
  335. <Button.Content>
  336. <Canvas>
  337. <Image
  338. Canvas.Left="-7"
  339. Canvas.Top="5"
  340. Width="15"
  341. Height="15"
  342. HorizontalAlignment="Center"
  343. VerticalAlignment="Top"
  344. RenderTransformOrigin="0.5,0.5"
  345. Source="/FurnaceUI;component/Resources/images/1.png"/>
  346. </Canvas>
  347. </Button.Content>
  348. </Button>
  349. <Button
  350. Grid.Row="3"
  351. Width="40"
  352. HorizontalAlignment="Left"
  353. Background="#FF376091"
  354. Command="{Binding MoveCurrentToLastCommand}">
  355. <Button.Content>
  356. <Canvas>
  357. <Image
  358. Canvas.Left="-7"
  359. Canvas.Top="-25"
  360. Width="15"
  361. Height="15"
  362. HorizontalAlignment="Center"
  363. VerticalAlignment="Top"
  364. RenderTransformOrigin="0.5,0.5"
  365. Source="/FurnaceUI;component/Resources/images/1.png"/>
  366. <Image
  367. Canvas.Left="-7"
  368. Canvas.Top="-2"
  369. Width="15"
  370. Height="15"
  371. HorizontalAlignment="Center"
  372. VerticalAlignment="Top"
  373. RenderTransformOrigin="0.5,0.5"
  374. Source="/FurnaceUI;component/Resources/images/1.png"/>
  375. </Canvas>
  376. </Button.Content>
  377. </Button>
  378. </Grid>
  379. </Grid>
  380. </Grid>
  381. </Border>
  382. <!--<Border
  383. Grid.Row="1"
  384. Margin="0,8,0,0"
  385. Visibility="{Binding IsSelectStatus, Converter={StaticResource bool2VisibilityConverter}}">
  386. <StackPanel Orientation="Vertical">
  387. <DataGrid
  388. Name="statusList"
  389. Grid.Row="1"
  390. Width="1230"
  391. Height="730"
  392. Margin="10,30,10,10"
  393. HorizontalAlignment="Left"
  394. AutoGenerateColumns="False"
  395. CanUserAddRows="False"
  396. CanUserReorderColumns="False"
  397. CanUserSortColumns="False"
  398. FontSize="14"
  399. IsReadOnly="True"
  400. ItemsSource="{Binding ShowStatusTableDataSource}"
  401. ScrollViewer.CanContentScroll="True"
  402. ScrollViewer.HorizontalScrollBarVisibility="Auto"
  403. ScrollViewer.VerticalScrollBarVisibility="Auto"
  404. RowHeight="40"
  405. VirtualizingStackPanel.ScrollUnit="Pixel">
  406. <DataGrid.Columns>
  407. <DataGridTemplateColumn
  408. Width="40"
  409. Header="No"
  410. IsReadOnly="True">
  411. <DataGridTemplateColumn.CellTemplate>
  412. <DataTemplate>
  413. <TextBlock VerticalAlignment="Center"
  414. Text="{Binding Index, Mode=OneWay}"
  415. TextAlignment="Center" />
  416. </DataTemplate>
  417. </DataGridTemplateColumn.CellTemplate>
  418. </DataGridTemplateColumn>
  419. <DataGridTemplateColumn
  420. Width="300"
  421. Header="Name"
  422. IsReadOnly="True">
  423. <DataGridTemplateColumn.CellTemplate>
  424. <DataTemplate>
  425. <Label
  426. Width="auto"
  427. HorizontalContentAlignment="Left"
  428. VerticalContentAlignment="Center"
  429. Content="{Binding DisplayName}"
  430. IsEnabled="False" />
  431. </DataTemplate>
  432. </DataGridTemplateColumn.CellTemplate>
  433. </DataGridTemplateColumn>
  434. <DataGridTemplateColumn
  435. Width="140"
  436. Header="Actual"
  437. IsReadOnly="True">
  438. <DataGridTemplateColumn.CellTemplate>
  439. <DataTemplate>
  440. <Label MinWidth="150" HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
  441. <TextBlock IsEnabled="False" Text="{Binding Feedback, StringFormat={}{0:f1}}" />
  442. </Label>
  443. </DataTemplate>
  444. </DataGridTemplateColumn.CellTemplate>
  445. </DataGridTemplateColumn>
  446. <DataGridTemplateColumn
  447. Width="160"
  448. Header="Set"
  449. IsReadOnly="True">
  450. <DataGridTemplateColumn.CellTemplate>
  451. <DataTemplate>
  452. <Grid>
  453. <Grid.ColumnDefinitions>
  454. <ColumnDefinition Width="110" />
  455. <ColumnDefinition Width="50" />
  456. </Grid.ColumnDefinitions>
  457. <TextBlock
  458. Grid.Column="0"
  459. Margin="0,5,0,0"
  460. VerticalAlignment="Center"
  461. HorizontalAlignment="Center"
  462. FontSize="16"
  463. IsEnabled="False"
  464. Text="{Binding SetPoint, StringFormat={}{0:f1}}" />
  465. <Label
  466. Grid.Column="1"
  467. HorizontalContentAlignment="Right"
  468. VerticalContentAlignment="Center"
  469. Content="{Binding Unit}"
  470. IsEnabled="False" />
  471. </Grid>
  472. </DataTemplate>
  473. </DataGridTemplateColumn.CellTemplate>
  474. </DataGridTemplateColumn>
  475. <DataGridTemplateColumn
  476. Width="140"
  477. Header="Warning Low Limit"
  478. IsReadOnly="True">
  479. <DataGridTemplateColumn.CellTemplate>
  480. <DataTemplate>
  481. <Label
  482. Grid.Column="0"
  483. Width="150"
  484. VerticalAlignment="Center"
  485. HorizontalContentAlignment="Center">
  486. <deviceControl:AITSensor
  487. CustomColorOff="Gray"
  488. CustomColorOn="Red"
  489. EnableToolTip="False"
  490. IsCustomRender="True"
  491. LightOnValue="{Binding IsWarningLowLimit}" />
  492. </Label>
  493. </DataTemplate>
  494. </DataGridTemplateColumn.CellTemplate>
  495. </DataGridTemplateColumn>
  496. <DataGridTemplateColumn
  497. Width="140"
  498. Header="Warning High Limit"
  499. IsReadOnly="True">
  500. <DataGridTemplateColumn.CellTemplate>
  501. <DataTemplate>
  502. <Label
  503. Grid.Column="0"
  504. Width="150"
  505. VerticalAlignment="Center"
  506. HorizontalContentAlignment="Center">
  507. <deviceControl:AITSensor
  508. CustomColorOff="Gray"
  509. CustomColorOn="Red"
  510. EnableToolTip="False"
  511. IsCustomRender="True"
  512. LightOnValue="{Binding IsWarningHighLimit}" />
  513. </Label>
  514. </DataTemplate>
  515. </DataGridTemplateColumn.CellTemplate>
  516. </DataGridTemplateColumn>
  517. <DataGridTemplateColumn
  518. Width="140"
  519. Header="Alarm Low Limit"
  520. IsReadOnly="True">
  521. <DataGridTemplateColumn.CellTemplate>
  522. <DataTemplate>
  523. <Label
  524. Grid.Column="0"
  525. Width="150"
  526. VerticalAlignment="Center"
  527. HorizontalContentAlignment="Center">
  528. <deviceControl:AITSensor
  529. CustomColorOff="Gray"
  530. CustomColorOn="Red"
  531. EnableToolTip="False"
  532. IsCustomRender="True"
  533. LightOnValue="{Binding IsAlarmLowLimit}" />
  534. </Label>
  535. </DataTemplate>
  536. </DataGridTemplateColumn.CellTemplate>
  537. </DataGridTemplateColumn>
  538. <DataGridTemplateColumn
  539. Width="140"
  540. Header="Alarm High Limit"
  541. IsReadOnly="True">
  542. <DataGridTemplateColumn.CellTemplate>
  543. <DataTemplate>
  544. <Label
  545. Grid.Column="0"
  546. Width="150"
  547. VerticalAlignment="Center"
  548. HorizontalContentAlignment="Center">
  549. <deviceControl:AITSensor
  550. CustomColorOff="Gray"
  551. CustomColorOn="Red"
  552. EnableToolTip="False"
  553. IsCustomRender="True"
  554. LightOnValue="{Binding IsAlarmHighLimit}" />
  555. </Label>
  556. </DataTemplate>
  557. </DataGridTemplateColumn.CellTemplate>
  558. </DataGridTemplateColumn>
  559. </DataGrid.Columns>
  560. </DataGrid>
  561. </StackPanel>
  562. </Border>-->
  563. </Grid>
  564. </Border>
  565. </UserControl>