MainWindow.xaml 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <Window x:Class="athosRT.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:athosRT"
  7. xmlns:cal="http://www.caliburnproject.org"
  8. mc:Ignorable="d"
  9. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  10. Closing="Window_Closing" Closed="Window_Closed"
  11. Title="JetEfemRT" Height="600" Width="1000">
  12. <i:Interaction.Triggers>
  13. <i:EventTrigger EventName="Loaded">
  14. <i:InvokeCommandAction Command="{Binding OnLoad}"/>
  15. </i:EventTrigger>
  16. </i:Interaction.Triggers>
  17. <Window.Resources>
  18. <Style TargetType="CheckBox">
  19. <Style.Triggers>
  20. <Trigger Property="IsChecked" Value="True">
  21. <Setter Property="Template">
  22. <Setter.Value>
  23. <ControlTemplate>
  24. <Canvas>
  25. <Ellipse Width="15" Height="15" Fill="LightGreen"/>
  26. </Canvas>
  27. </ControlTemplate>
  28. </Setter.Value>
  29. </Setter>
  30. </Trigger>
  31. <Trigger Property="IsChecked" Value="False">
  32. <Setter Property="Template" >
  33. <Setter.Value>
  34. <ControlTemplate>
  35. <Canvas>
  36. <Ellipse Width="15" Height="15" Fill="Gray"/>
  37. </Canvas>
  38. </ControlTemplate>
  39. </Setter.Value>
  40. </Setter>
  41. </Trigger>
  42. </Style.Triggers>
  43. </Style>
  44. </Window.Resources>
  45. <Grid>
  46. <TabControl>
  47. <TabItem Header="SC" Name="SC">
  48. <Grid>
  49. <Grid.ColumnDefinitions>
  50. <ColumnDefinition Width="150"></ColumnDefinition>
  51. <ColumnDefinition Width="*"></ColumnDefinition>
  52. </Grid.ColumnDefinitions>
  53. <TreeView ItemsSource="{Binding SCTree.Children}" >
  54. <TreeView.ItemTemplate>
  55. <HierarchicalDataTemplate ItemsSource="{Binding Path=Children}" >
  56. <DockPanel>
  57. <Button Content="{Binding Path=Name}" Command="{Binding Path=ShowItems}" CommandParameter="{Binding Path=Items}" BorderThickness="0" Background="Transparent"/>
  58. </DockPanel>
  59. </HierarchicalDataTemplate>
  60. </TreeView.ItemTemplate>
  61. </TreeView>
  62. <Grid Grid.Column="1">
  63. <Grid.RowDefinitions>
  64. <RowDefinition Height="20"></RowDefinition>
  65. <RowDefinition Height="*"></RowDefinition>
  66. </Grid.RowDefinitions>
  67. <!-- 搜索 保存 导出 -->
  68. <Grid>
  69. <Grid.ColumnDefinitions>
  70. <ColumnDefinition Width="1*"></ColumnDefinition>
  71. <ColumnDefinition Width="60"></ColumnDefinition>
  72. <ColumnDefinition Width="60"></ColumnDefinition>
  73. <ColumnDefinition Width="60"></ColumnDefinition>
  74. </Grid.ColumnDefinitions>
  75. <TextBox></TextBox>
  76. <Button Grid.Column="1">Reload</Button>
  77. <Button Grid.Column="2">SaveAll</Button>
  78. <Button Grid.Column="3">Export</Button>
  79. </Grid>
  80. <DataGrid Grid.Row="1" ItemsSource="{Binding GridDatas}" CanUserAddRows="False" AutoGenerateColumns="False" >
  81. <DataGrid.Columns>
  82. <DataGridTemplateColumn Header="Name" MinWidth="60">
  83. <DataGridTemplateColumn.CellTemplate>
  84. <DataTemplate>
  85. <TextBlock Text="{Binding Name}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  86. </DataTemplate>
  87. </DataGridTemplateColumn.CellTemplate>
  88. </DataGridTemplateColumn>
  89. <DataGridTemplateColumn Header="Description" MinWidth="100">
  90. <DataGridTemplateColumn.CellTemplate>
  91. <DataTemplate>
  92. <TextBlock Text="{Binding Description}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  93. </DataTemplate>
  94. </DataGridTemplateColumn.CellTemplate>
  95. </DataGridTemplateColumn>
  96. <DataGridTemplateColumn Header="Unit" MinWidth="80">
  97. <DataGridTemplateColumn.CellTemplate>
  98. <DataTemplate>
  99. <TextBlock Text="{Binding Unint}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  100. </DataTemplate>
  101. </DataGridTemplateColumn.CellTemplate>
  102. </DataGridTemplateColumn>
  103. <DataGridTemplateColumn Header="Type" MinWidth="80">
  104. <DataGridTemplateColumn.CellTemplate>
  105. <DataTemplate>
  106. <TextBlock Text="{Binding Type}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  107. </DataTemplate>
  108. </DataGridTemplateColumn.CellTemplate>
  109. </DataGridTemplateColumn>
  110. <DataGridTemplateColumn Header="Min" MinWidth="60">
  111. <DataGridTemplateColumn.CellTemplate>
  112. <DataTemplate>
  113. <TextBlock Text="{Binding Min}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  114. </DataTemplate>
  115. </DataGridTemplateColumn.CellTemplate>
  116. </DataGridTemplateColumn>
  117. <DataGridTemplateColumn Header="Max" MinWidth="60">
  118. <DataGridTemplateColumn.CellTemplate>
  119. <DataTemplate>
  120. <TextBlock Text="{Binding Max}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  121. </DataTemplate>
  122. </DataGridTemplateColumn.CellTemplate>
  123. </DataGridTemplateColumn>
  124. <DataGridTemplateColumn Header="Value" MinWidth="60">
  125. <DataGridTemplateColumn.CellTemplate>
  126. <DataTemplate>
  127. <TextBlock Text="{Binding CurrentValue,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  128. </DataTemplate>
  129. </DataGridTemplateColumn.CellTemplate>
  130. </DataGridTemplateColumn>
  131. <DataGridTemplateColumn Header="Setpoint" MinWidth="100">
  132. <DataGridTemplateColumn.CellTemplate>
  133. <DataTemplate>
  134. <StackPanel Orientation="Horizontal">
  135. <TextBox Text="{Binding Setpoint,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="100"/>
  136. </StackPanel>
  137. </DataTemplate>
  138. </DataGridTemplateColumn.CellTemplate>
  139. </DataGridTemplateColumn>
  140. <DataGridTemplateColumn MinWidth="80">
  141. <DataGridTemplateColumn.CellTemplate>
  142. <DataTemplate>
  143. <Button Content="Set" Width="60" Height="20" FontSize="12" Command="{Binding Comfirm}" CommandParameter="{Binding}">
  144. </Button>
  145. </DataTemplate>
  146. </DataGridTemplateColumn.CellTemplate>
  147. </DataGridTemplateColumn>
  148. </DataGrid.Columns>
  149. </DataGrid>
  150. </Grid>
  151. </Grid>
  152. </TabItem>
  153. <TabItem Header="IO" Name="IO" >
  154. <Grid>
  155. <Grid.ColumnDefinitions>
  156. <ColumnDefinition Width="*" />
  157. <ColumnDefinition Width="*" />
  158. <!--<ColumnDefinition Width="*" />
  159. <ColumnDefinition Width="*" />-->
  160. </Grid.ColumnDefinitions>
  161. <DataGrid ItemsSource="{Binding DiItemList}" CanUserAddRows="False" AutoGenerateColumns="False">
  162. <DataGrid.Columns>
  163. <DataGridTemplateColumn Header="Address" MinWidth="60" Width="*">
  164. <DataGridTemplateColumn.CellTemplate>
  165. <DataTemplate>
  166. <TextBlock Text="{Binding Address}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  167. </DataTemplate>
  168. </DataGridTemplateColumn.CellTemplate>
  169. </DataGridTemplateColumn>
  170. <DataGridTemplateColumn Header="Name" MinWidth="60" Width="*">
  171. <DataGridTemplateColumn.CellTemplate>
  172. <DataTemplate>
  173. <TextBlock Text="{Binding Name}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  174. </DataTemplate>
  175. </DataGridTemplateColumn.CellTemplate>
  176. </DataGridTemplateColumn>
  177. <DataGridTemplateColumn Header="BoolValue" MinWidth="60" Width="*">
  178. <DataGridTemplateColumn.CellTemplate>
  179. <DataTemplate>
  180. <CheckBox IsChecked="{Binding BoolValue}" BorderThickness="0" HorizontalAlignment="Center" Margin="-15,0,0,0" IsEnabled="False">
  181. </CheckBox>
  182. <!--<TextBlock Text="{Binding BoolValue}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>-->
  183. </DataTemplate>
  184. </DataGridTemplateColumn.CellTemplate>
  185. </DataGridTemplateColumn>
  186. <DataGridTemplateColumn Header="Description" MinWidth="60" Width="*">
  187. <DataGridTemplateColumn.CellTemplate>
  188. <DataTemplate>
  189. <TextBlock Text="{Binding Description}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  190. </DataTemplate>
  191. </DataGridTemplateColumn.CellTemplate>
  192. </DataGridTemplateColumn>
  193. </DataGrid.Columns>
  194. </DataGrid>
  195. <DataGrid Grid.Column="1" ItemsSource="{Binding DoItemList}" CanUserAddRows="False" AutoGenerateColumns="False">
  196. <DataGrid.Columns>
  197. <!--<DataGridTemplateColumn Header="Index" MinWidth="60" Width="*">
  198. <DataGridTemplateColumn.CellTemplate>
  199. <DataTemplate>
  200. <TextBlock Text="{Binding Index}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  201. </DataTemplate>
  202. </DataGridTemplateColumn.CellTemplate>
  203. </DataGridTemplateColumn>-->
  204. <DataGridTemplateColumn Header="Address" MinWidth="60" Width="*">
  205. <DataGridTemplateColumn.CellTemplate>
  206. <DataTemplate>
  207. <TextBlock Text="{Binding Address}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  208. </DataTemplate>
  209. </DataGridTemplateColumn.CellTemplate>
  210. </DataGridTemplateColumn>
  211. <DataGridTemplateColumn Header="Name" MinWidth="60" Width="*">
  212. <DataGridTemplateColumn.CellTemplate>
  213. <DataTemplate>
  214. <TextBlock Text="{Binding Name}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  215. </DataTemplate>
  216. </DataGridTemplateColumn.CellTemplate>
  217. </DataGridTemplateColumn>
  218. <DataGridTemplateColumn Header="BoolValue" MinWidth="60" Width="*">
  219. <DataGridTemplateColumn.CellTemplate>
  220. <DataTemplate>
  221. <CheckBox IsChecked="{Binding BoolValue}" BorderThickness="0" HorizontalAlignment="Center" Margin="-15,0,0,0" IsEnabled="False">
  222. </CheckBox>
  223. </DataTemplate>
  224. </DataGridTemplateColumn.CellTemplate>
  225. </DataGridTemplateColumn>
  226. <DataGridTemplateColumn Header="Description" MinWidth="60" Width="*">
  227. <DataGridTemplateColumn.CellTemplate>
  228. <DataTemplate>
  229. <TextBlock Text="{Binding Description}" Margin="5,0" FontFamily="Arial" FontSize="14" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
  230. </DataTemplate>
  231. </DataGridTemplateColumn.CellTemplate>
  232. </DataGridTemplateColumn>
  233. </DataGrid.Columns>
  234. </DataGrid>
  235. <!--<DataGrid Grid.Column="2">
  236. </DataGrid>
  237. <DataGrid Grid.Column="3">
  238. </DataGrid>-->
  239. </Grid>
  240. </TabItem>
  241. <TabItem Header="FSM" Name="FSM" IsSelected="True">
  242. <StackPanel>
  243. <ComboBox ItemsSource="{Binding RTMsg}" SelectedValue="{Binding SelectedMsg}">
  244. </ComboBox>
  245. <Button cal:Message.Attach="[Event Click] = [Action ChangeState]">ChangeState</Button>
  246. <Button cal:Message.Attach="[Event Click] = [Action GetSomeDevice]">GetSomeDevice</Button>
  247. <Button cal:Message.Attach="[Event Click] = [Action StartCycle]">StartCycle</Button>
  248. <Grid Height="200" Margin="0 20">
  249. <Grid.ColumnDefinitions>
  250. <ColumnDefinition Width="6*"/>
  251. <ColumnDefinition Width="1*"/>
  252. </Grid.ColumnDefinitions>
  253. <Grid.RowDefinitions>
  254. <RowDefinition Height="1*"></RowDefinition>
  255. <RowDefinition Height="1*"></RowDefinition>
  256. <RowDefinition Height="1*"></RowDefinition>
  257. </Grid.RowDefinitions>
  258. <StackPanel Grid.Row="0" HorizontalAlignment="Center" Orientation="Horizontal" VerticalAlignment="Center">
  259. <TextBlock Width="70" VerticalAlignment="Center">SET:</TextBlock>
  260. <ComboBox ItemsSource="{Binding LPSET}" SelectedValue="{Binding LPSetCommand}" Width="150"></ComboBox>
  261. <TextBlock Width="10" TextAlignment="Center">/</TextBlock>
  262. <TextBox Width="60" Text="{Binding SetParam}"></TextBox>
  263. <TextBlock Width="10" TextAlignment="Center">;</TextBlock>
  264. </StackPanel>
  265. <StackPanel Grid.Row="1" HorizontalAlignment="Center" Orientation="Horizontal" VerticalAlignment="Center">
  266. <TextBlock Width="70" VerticalAlignment="Center">GET:</TextBlock>
  267. <ComboBox ItemsSource="{Binding LPGET}" SelectedValue="{Binding LPGetCommand}" Width="150"></ComboBox>
  268. <TextBlock Width="10" TextAlignment="Center">;</TextBlock>
  269. <TextBlock Width="70"></TextBlock>
  270. </StackPanel>
  271. <StackPanel Grid.Row="2" HorizontalAlignment="Center" Orientation="Horizontal" VerticalAlignment="Center">
  272. <TextBlock Width="70" VerticalAlignment="Center">MOV:</TextBlock>
  273. <ComboBox ItemsSource="{Binding LPMOV}" SelectedValue="{Binding LPMovCommand}" Width="150"></ComboBox>
  274. <TextBlock Width="10" TextAlignment="Center">;</TextBlock>
  275. <TextBlock Width="70"></TextBlock>
  276. </StackPanel>
  277. <Button Grid.Row="0" Grid.Column="1" Margin="20" cal:Message.Attach="[Event Click] = [Action SendSet]">Send</Button>
  278. <Button Grid.Row="1" Grid.Column="1" Margin="20" cal:Message.Attach="[Event Click] = [Action SendGet]">Send</Button>
  279. <Button Grid.Row="2" Grid.Column="1" Margin="20" cal:Message.Attach="[Event Click] = [Action SendMov]">Send</Button>
  280. </Grid>
  281. <StackPanel Height="20" Orientation="Horizontal" HorizontalAlignment="Center">
  282. <TextBlock VerticalAlignment="Center" Margin="5,0">State:</TextBlock>
  283. <TextBlock VerticalAlignment="Center" FontStyle="Oblique" FontWeight="Bold" Margin="5,0" Width="40" Text="{Binding FlipperState,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBlock>
  284. <Button Margin="5,0" cal:Message.Attach="[Event Click] = [Action FlipperHome()]">Home</Button>
  285. <Button Margin="5,0" cal:Message.Attach="[Event Click] = [Action FlipperTurn()]">TurnOver</Button>
  286. <Button Margin="5,0" cal:Message.Attach="[Event Click] = [Action FlipperClamp(true)]">Clamp</Button>
  287. </StackPanel>
  288. </StackPanel>
  289. </TabItem>
  290. </TabControl>
  291. </Grid>
  292. </Window>