Generic.xaml 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:converters="clr-namespace:Venus_Themes.Converters"
  4. xmlns:customControls="clr-namespace:Venus_Themes.CustomControls"
  5. >
  6. <customControls:WaferIntToColorConverter x:Key="WaferIntToColorConverter"/>
  7. <customControls:WaferIntToVisibilityConverter x:Key="WaferIntToVisibilityConverter"/>
  8. <SolidColorBrush x:Key="robotBorderBrush" Color="#030303" />
  9. <LinearGradientBrush x:Key="RobotBrush" StartPoint="0,0" EndPoint="1,0">
  10. <LinearGradientBrush.GradientStops>
  11. <GradientStop Color="Silver" Offset="0"/>
  12. <GradientStop Color="White" Offset="0.9"/>
  13. <GradientStop Color="Silver" Offset="1"/>
  14. </LinearGradientBrush.GradientStops>
  15. </LinearGradientBrush>
  16. <LinearGradientBrush x:Key="RobotBrush2" StartPoint="0,0" EndPoint="1,0">
  17. <LinearGradientBrush.GradientStops>
  18. <GradientStop Color="Gray" Offset="0"/>
  19. <GradientStop Color="White" Offset="0.9"/>
  20. <GradientStop Color="Gray" Offset="1"/>
  21. </LinearGradientBrush.GradientStops>
  22. </LinearGradientBrush>
  23. <Style TargetType="{x:Type customControls:WaferRobotControl}" >
  24. <Setter Property="Cursor" Value="Hand" />
  25. <Setter Property="Width" Value="200"/>
  26. <Setter Property="Height" Value="250"/>
  27. <Setter Property="Template">
  28. <Setter.Value>
  29. <ControlTemplate TargetType="{x:Type customControls:WaferRobotControl}">
  30. <Viewbox x:Name="viewbox" Stretch="Fill">
  31. <VisualStateManager.VisualStateGroups>
  32. <VisualStateGroup Name="RobotXActions">
  33. <VisualStateGroup.Transitions>
  34. <VisualTransition To="Extend">
  35. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  36. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  37. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  38. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  39. </DoubleAnimationUsingKeyFrames>
  40. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  41. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  42. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  43. </DoubleAnimationUsingKeyFrames>
  44. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  45. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  46. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:8"/>
  47. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:7"/>
  48. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:6"/>
  49. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:5"/>
  50. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:4"/>
  51. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:3"/>
  52. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:2"/>
  53. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:1"/>
  54. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  55. </DoubleAnimationUsingKeyFrames>
  56. </Storyboard>
  57. </VisualTransition>
  58. <VisualTransition To="Retract">
  59. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  60. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  61. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  62. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:9"/>
  63. </DoubleAnimationUsingKeyFrames>
  64. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  65. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  66. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:9"/>
  67. </DoubleAnimationUsingKeyFrames>
  68. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  69. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  70. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:1"/>
  71. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:2"/>
  72. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:3"/>
  73. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:4"/>
  74. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:5"/>
  75. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:6"/>
  76. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:7"/>
  77. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:8"/>
  78. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:9"/>
  79. </DoubleAnimationUsingKeyFrames>
  80. </Storyboard>
  81. </VisualTransition>
  82. </VisualStateGroup.Transitions>
  83. <VisualState Name="X_Origin">
  84. <Storyboard FillBehavior="HoldEnd">
  85. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  86. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  87. </DoubleAnimationUsingKeyFrames>
  88. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  89. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  90. </DoubleAnimationUsingKeyFrames>
  91. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  92. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  93. </DoubleAnimationUsingKeyFrames>
  94. </Storyboard>
  95. </VisualState>
  96. <VisualState Name="Extend">
  97. <Storyboard FillBehavior="HoldEnd">
  98. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  99. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  100. </DoubleAnimationUsingKeyFrames>
  101. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  102. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  103. </DoubleAnimationUsingKeyFrames>
  104. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  105. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  106. </DoubleAnimationUsingKeyFrames>
  107. </Storyboard>
  108. </VisualState>
  109. <VisualState Name="Retract">
  110. <Storyboard FillBehavior="HoldEnd">
  111. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  112. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  113. </DoubleAnimationUsingKeyFrames>
  114. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  115. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  116. </DoubleAnimationUsingKeyFrames>
  117. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  118. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  119. </DoubleAnimationUsingKeyFrames>
  120. </Storyboard>
  121. </VisualState>
  122. </VisualStateGroup>
  123. <VisualStateGroup Name="RobotTActions">
  124. <VisualStateGroup.Transitions>
  125. <VisualTransition To="T_Origin">
  126. <Storyboard FillBehavior="HoldEnd">
  127. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  128. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:1"/>
  129. </DoubleAnimationUsingKeyFrames>
  130. </Storyboard>
  131. </VisualTransition>
  132. <VisualTransition To="PMA">
  133. <Storyboard FillBehavior="HoldEnd">
  134. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  135. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:1"/>
  136. </DoubleAnimationUsingKeyFrames>
  137. </Storyboard>
  138. </VisualTransition>
  139. <VisualTransition To="PMB">
  140. <Storyboard FillBehavior="HoldEnd">
  141. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  142. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:1"/>
  143. </DoubleAnimationUsingKeyFrames>
  144. </Storyboard>
  145. </VisualTransition>
  146. <VisualTransition To="PMC">
  147. <Storyboard FillBehavior="HoldEnd">
  148. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  149. <LinearDoubleKeyFrame Value="120" KeyTime="0:0:1"/>
  150. </DoubleAnimationUsingKeyFrames>
  151. </Storyboard>
  152. </VisualTransition>
  153. <VisualTransition To="PMD">
  154. <Storyboard FillBehavior="HoldEnd">
  155. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  156. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:1"/>
  157. </DoubleAnimationUsingKeyFrames>
  158. </Storyboard>
  159. </VisualTransition>
  160. <VisualTransition To="LLA">
  161. <Storyboard FillBehavior="HoldEnd">
  162. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  163. <LinearDoubleKeyFrame Value="-60" KeyTime="0:0:1"/>
  164. </DoubleAnimationUsingKeyFrames>
  165. </Storyboard>
  166. </VisualTransition>
  167. <VisualTransition To="LLB">
  168. <Storyboard FillBehavior="HoldEnd">
  169. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  170. <LinearDoubleKeyFrame Value="-120" KeyTime="0:0:1"/>
  171. </DoubleAnimationUsingKeyFrames>
  172. </Storyboard>
  173. </VisualTransition>
  174. </VisualStateGroup.Transitions>
  175. <VisualState Name="T_Origin">
  176. <Storyboard FillBehavior="HoldEnd">
  177. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  178. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  179. </DoubleAnimationUsingKeyFrames>
  180. </Storyboard>
  181. </VisualState>
  182. <VisualState Name="PMA">
  183. <Storyboard FillBehavior="HoldEnd">
  184. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  185. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  186. </DoubleAnimationUsingKeyFrames>
  187. </Storyboard>
  188. </VisualState>
  189. <VisualState Name="PMB">
  190. <Storyboard FillBehavior="HoldEnd">
  191. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  192. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:0"/>
  193. </DoubleAnimationUsingKeyFrames>
  194. </Storyboard>
  195. </VisualState>
  196. <VisualState Name="PMC">
  197. <Storyboard FillBehavior="HoldEnd">
  198. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  199. <LinearDoubleKeyFrame Value="120" KeyTime="0:0:0"/>
  200. </DoubleAnimationUsingKeyFrames>
  201. </Storyboard>
  202. </VisualState>
  203. <VisualState Name="PMD">
  204. <Storyboard FillBehavior="HoldEnd">
  205. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  206. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0"/>
  207. </DoubleAnimationUsingKeyFrames>
  208. </Storyboard>
  209. </VisualState>
  210. <VisualState Name="LLA">
  211. <Storyboard FillBehavior="HoldEnd">
  212. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  213. <LinearDoubleKeyFrame Value="-60" KeyTime="0:0:0"/>
  214. </DoubleAnimationUsingKeyFrames>
  215. </Storyboard>
  216. </VisualState>
  217. <VisualState Name="LLB">
  218. <Storyboard FillBehavior="HoldEnd">
  219. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  220. <LinearDoubleKeyFrame Value="-120" KeyTime="0:0:0"/>
  221. </DoubleAnimationUsingKeyFrames>
  222. </Storyboard>
  223. </VisualState>
  224. </VisualStateGroup>
  225. </VisualStateManager.VisualStateGroups>
  226. <Canvas Width="200" Height="300" >
  227. <Canvas x:Name="robot" Width="100" Height="150" RenderTransformOrigin="1 1" >
  228. <Canvas.RenderTransform>
  229. <TransformGroup>
  230. <RotateTransform x:Name="robotRotateAct"/>
  231. <!--<TranslateTransform x:Name="robotUpDownAct"></TranslateTransform>-->
  232. </TransformGroup>
  233. </Canvas.RenderTransform>
  234. <Canvas x:Name="armXT1" Width="200" Height="100" Canvas.Top="100" RenderTransformOrigin="0.5 0.5">
  235. <Canvas.RenderTransform>
  236. <RotateTransform x:Name="armXT1RotateAct"/>
  237. </Canvas.RenderTransform>
  238. <Canvas x:Name="armXT1Arm" Width="70" Height="30" Canvas.Left="30" Canvas.Top="35" RenderTransformOrigin="1 0.5">
  239. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  240. <Path.Data>
  241. <PathGeometry>
  242. <PathFigure StartPoint="0 5" IsClosed="True">
  243. <LineSegment Point="51 0"/>
  244. <LineSegment Point="51 30" IsStroked="False"/>
  245. <LineSegment Point="0 25"/>
  246. <LineSegment Point="0 5" IsStroked="False"/>
  247. </PathFigure>
  248. </PathGeometry>
  249. </Path.Data>
  250. </Path>
  251. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  252. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  253. Data="M 0,5 A 10,10 0 0 0 0,25">
  254. </Path>
  255. </Canvas>
  256. <Canvas x:Name="armXT1Center" Width="40" Height="40" Canvas.Left="80" Canvas.Top="30" >
  257. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  258. <Path.Data>
  259. <PathGeometry>
  260. <PathFigure StartPoint="0 6" IsClosed="True">
  261. <LineSegment Point="6 0"/>
  262. <LineSegment Point="34 0"/>
  263. <LineSegment Point="40 6"/>
  264. <LineSegment Point="40 34"/>
  265. <LineSegment Point="34 40"/>
  266. <LineSegment Point="6 40"/>
  267. <LineSegment Point="0 34"/>
  268. </PathFigure>
  269. </PathGeometry>
  270. </Path.Data>
  271. </Path>
  272. </Canvas>
  273. </Canvas>
  274. <Canvas x:Name="armXT2" Width="120" Height="40" Canvas.Left="-90" Canvas.Top="130">
  275. <Canvas.RenderTransform>
  276. <TransformGroup>
  277. <TranslateTransform x:Name="armXT2Act"></TranslateTransform>
  278. </TransformGroup>
  279. </Canvas.RenderTransform>
  280. <Canvas x:Name="armXT2Arm" Width="70" Height="20" Canvas.Left="50" Canvas.Top="10" RenderTransformOrigin="0 0.5" Background="#6495ED">
  281. <Canvas.RenderTransform>
  282. <RotateTransform x:Name="armXT2ArmRotateAct"/>
  283. </Canvas.RenderTransform>
  284. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="70"
  285. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="WhiteSmoke"
  286. Data="M 0,0 A 10,10 0 0 1 0,20">
  287. </Path>
  288. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  289. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  290. Data="M 0,0 A 10,10 0 0 0 0,20">
  291. </Path>
  292. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  293. <Path.Data>
  294. <PathGeometry>
  295. <PathFigure StartPoint="70 0" >
  296. <LineSegment Point="0 0" />
  297. <LineSegment Point="0 20" IsStroked="False"/>
  298. <LineSegment Point="70 20"/>
  299. <LineSegment Point="70 0" IsStroked="False"/>
  300. </PathFigure>
  301. </PathGeometry>
  302. </Path.Data>
  303. </Path>
  304. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  305. Canvas.Top="4" Canvas.Left="62"/>
  306. </Canvas>
  307. <Canvas x:Name="armGripper" Height="40" Width="50" Canvas.Left="0" Canvas.Top="0">
  308. <Path Data="M 30 10 30 30 -20 25 -20 15 30 10z" Stroke="Black" Fill="{StaticResource RobotBrush2}" StrokeThickness="1" StrokeEndLineCap="Round">
  309. <!--<Path.Data>
  310. <PathGeometry>
  311. --><!--<PathFigure StartPoint="30 14" >
  312. <LineSegment Point="10 14" />
  313. <LineSegment Point="4 8" />
  314. <LineSegment Point="-6 8" />
  315. </PathFigure>
  316. <PathFigure StartPoint="30 26" >
  317. <LineSegment Point="10 26" />
  318. <LineSegment Point="4 32" />
  319. <LineSegment Point="-6 32" />
  320. </PathFigure>--><!--
  321. <PathFigure StartPoint="30 10" >
  322. <LineSegment Point="30 30" />
  323. <LineSegment Point="-20 25" />
  324. <LineSegment Point="-20 15" />
  325. <LineSegment Point="30 10" />
  326. </PathFigure>
  327. </PathGeometry>
  328. </Path.Data>-->
  329. </Path>
  330. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  331. <Path.Data>
  332. <PathGeometry>
  333. <PathFigure StartPoint="40 0" >
  334. <LineSegment Point="60 0" />
  335. <LineSegment Point="60 40" />
  336. <LineSegment Point="40 40" />
  337. <LineSegment Point="30 30" />
  338. <LineSegment Point="30 10" />
  339. <LineSegment Point="40 0" />
  340. </PathFigure>
  341. </PathGeometry>
  342. </Path.Data>
  343. </Path>
  344. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  345. <Path.Data>
  346. <PathGeometry>
  347. <PathFigure StartPoint="30 10" >
  348. <LineSegment Point="20 10" />
  349. <LineSegment Point="20 30" />
  350. <LineSegment Point="30 30" />
  351. <LineSegment Point="30 10" IsStroked="False"/>
  352. </PathFigure>
  353. </PathGeometry>
  354. </Path.Data>
  355. </Path>
  356. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  357. Canvas.Top="14" Canvas.Left="44"/>
  358. <Ellipse x:Name="wafer" Width="40" Height="40" StrokeThickness="1" Stroke="Black" Canvas.Left="-24"
  359. Visibility="{Binding Wafer,Converter={StaticResource WaferIntToVisibilityConverter},
  360. RelativeSource={RelativeSource TemplatedParent}}"
  361. Fill="{Binding Wafer,Converter={StaticResource WaferIntToColorConverter},
  362. RelativeSource={RelativeSource TemplatedParent}}"/>
  363. </Canvas>
  364. </Canvas>
  365. </Canvas>
  366. </Canvas>
  367. </Viewbox>
  368. </ControlTemplate>
  369. </Setter.Value>
  370. </Setter>
  371. </Style>
  372. <Style TargetType="{x:Type customControls:CommonValveControl}">
  373. <Setter Property="Template">
  374. <Setter.Value>
  375. <ControlTemplate TargetType="{x:Type customControls:CommonValveControl}">
  376. <Viewbox Stretch="Fill">
  377. <Grid x:Name="mainBody">
  378. <Canvas Width="40" Height="40">
  379. <Ellipse Height="40" Width="40" Fill="Gray"/>
  380. <Ellipse x:Name="InnerEllipse" Height="30" Width="30" Canvas.Left="5" Canvas.Top="5" />
  381. <Rectangle x:Name="Rectangle" Fill="White" RadiusX="2" RadiusY="2"/>
  382. </Canvas>
  383. </Grid>
  384. </Viewbox>
  385. <ControlTemplate.Triggers>
  386. <Trigger Property="IsCanEdit" Value="True">
  387. <Setter Property="Cursor" Value="Hand" />
  388. </Trigger>
  389. <Trigger Property="Status" Value="false">
  390. <Setter TargetName="InnerEllipse" Property="Fill" Value="Silver"/>
  391. </Trigger>
  392. <Trigger Property="Status" Value="true">
  393. <Setter TargetName="InnerEllipse" Property="Fill" Value="Green"/>
  394. </Trigger>
  395. <MultiTrigger>
  396. <MultiTrigger.Conditions>
  397. <Condition Property="ValveOrientation" Value="Horizontal"/>
  398. <Condition Property="Status" Value="false"/>
  399. </MultiTrigger.Conditions>
  400. <Setter TargetName="Rectangle" Property="Width" Value="6"/>
  401. <Setter TargetName="Rectangle" Property="Height" Value="30"/>
  402. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="17"/>
  403. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="5"/>
  404. </MultiTrigger>
  405. <MultiTrigger>
  406. <MultiTrigger.Conditions>
  407. <Condition Property="ValveOrientation" Value="Horizontal"/>
  408. <Condition Property="Status" Value="true"/>
  409. </MultiTrigger.Conditions>
  410. <Setter TargetName="Rectangle" Property="Width" Value="30"/>
  411. <Setter TargetName="Rectangle" Property="Height" Value="6"/>
  412. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="5"/>
  413. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="17"/>
  414. </MultiTrigger>
  415. <MultiTrigger>
  416. <MultiTrigger.Conditions>
  417. <Condition Property="ValveOrientation" Value="Vertical"/>
  418. <Condition Property="Status" Value="false"/>
  419. </MultiTrigger.Conditions>
  420. <Setter TargetName="Rectangle" Property="Width" Value="30"/>
  421. <Setter TargetName="Rectangle" Property="Height" Value="6"/>
  422. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="5"/>
  423. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="17"/>
  424. </MultiTrigger>
  425. <MultiTrigger>
  426. <MultiTrigger.Conditions>
  427. <Condition Property="ValveOrientation" Value="Vertical"/>
  428. <Condition Property="Status" Value="true"/>
  429. </MultiTrigger.Conditions>
  430. <Setter TargetName="Rectangle" Property="Width" Value="6"/>
  431. <Setter TargetName="Rectangle" Property="Height" Value="30"/>
  432. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="17"/>
  433. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="5"/>
  434. </MultiTrigger>
  435. </ControlTemplate.Triggers>
  436. </ControlTemplate>
  437. </Setter.Value>
  438. </Setter>
  439. </Style>
  440. <Style x:Key="textBlockStyle" TargetType="TextBlock">
  441. <!--字体渐变-->
  442. <Setter Property="Foreground">
  443. <Setter.Value>
  444. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,0.5">
  445. <GradientStop Color="#FFFFE787" Offset="0.0" />
  446. <GradientStop Color="#FFFFE787" Offset="0.25" />
  447. <GradientStop Color="White" Offset="0.5" />
  448. </LinearGradientBrush>
  449. </Setter.Value>
  450. </Setter>
  451. <!--字体阴影-->
  452. <Setter Property="Effect">
  453. <Setter.Value>
  454. <DropShadowEffect Color="Black" Direction="120" ShadowDepth="1" Opacity="0.7" />
  455. </Setter.Value>
  456. </Setter>
  457. <Setter Property="FontFamily" Value="Microsoft YaHei"/>
  458. <Setter Property="FontWeight" Value="Bold"/>
  459. </Style>
  460. <Geometry x:Key="Icon_PMA">M793.1 958H229.4C155 958 94.5 897.5 94.5 823.2V557.6c0-74.4 60.5-134.8 134.9-134.8h563.8c74.4 0 134.9 60.5 134.9 134.8v265.6c-0.1 74.3-60.6 134.8-135 134.8zM229.4 512.6c-24.8 0-45 20.2-45 45v265.6c0 24.8 20.2 45 45 45h563.8c24.8 0 45-20.2 45-45V557.6c0-24.8-20.2-45-45-45H229.4z M773.3 512.6H249.2c-24.8 0-44.9-20.1-44.9-44.9V194.3c0-74.2 60.4-134.6 134.6-134.6h344.7c74.2 0 134.6 60.4 134.6 134.6v273.4c0 24.8-20.1 44.9-44.9 44.9z m-479.2-89.8h434.3V194.3c0-24.7-20.1-44.8-44.8-44.8H338.9c-24.7 0-44.8 20.1-44.8 44.8v228.5z M408.9 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9 24.8 0 44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9zM612.7 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9s44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9z</Geometry>
  461. <Geometry x:Key="Icon_PMB">M793.1 958H229.4C155 958 94.5 897.5 94.5 823.2V557.6c0-74.4 60.5-134.8 134.9-134.8h563.8c74.4 0 134.9 60.5 134.9 134.8v265.6c-0.1 74.3-60.6 134.8-135 134.8zM229.4 512.6c-24.8 0-45 20.2-45 45v265.6c0 24.8 20.2 45 45 45h563.8c24.8 0 45-20.2 45-45V557.6c0-24.8-20.2-45-45-45H229.4z M773.3 512.6H249.2c-24.8 0-44.9-20.1-44.9-44.9V194.3c0-74.2 60.4-134.6 134.6-134.6h344.7c74.2 0 134.6 60.4 134.6 134.6v273.4c0 24.8-20.1 44.9-44.9 44.9z m-479.2-89.8h434.3V194.3c0-24.7-20.1-44.8-44.8-44.8H338.9c-24.7 0-44.8 20.1-44.8 44.8v228.5z M408.9 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9 24.8 0 44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9zM612.7 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9s44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9z</Geometry>
  462. <Geometry x:Key="Icon_PMC">M793.1 958H229.4C155 958 94.5 897.5 94.5 823.2V557.6c0-74.4 60.5-134.8 134.9-134.8h563.8c74.4 0 134.9 60.5 134.9 134.8v265.6c-0.1 74.3-60.6 134.8-135 134.8zM229.4 512.6c-24.8 0-45 20.2-45 45v265.6c0 24.8 20.2 45 45 45h563.8c24.8 0 45-20.2 45-45V557.6c0-24.8-20.2-45-45-45H229.4z M773.3 512.6H249.2c-24.8 0-44.9-20.1-44.9-44.9V194.3c0-74.2 60.4-134.6 134.6-134.6h344.7c74.2 0 134.6 60.4 134.6 134.6v273.4c0 24.8-20.1 44.9-44.9 44.9z m-479.2-89.8h434.3V194.3c0-24.7-20.1-44.8-44.8-44.8H338.9c-24.7 0-44.8 20.1-44.8 44.8v228.5z M408.9 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9 24.8 0 44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9zM612.7 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9s44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9z</Geometry>
  463. <Geometry x:Key="Icon_PMD">M793.1 958H229.4C155 958 94.5 897.5 94.5 823.2V557.6c0-74.4 60.5-134.8 134.9-134.8h563.8c74.4 0 134.9 60.5 134.9 134.8v265.6c-0.1 74.3-60.6 134.8-135 134.8zM229.4 512.6c-24.8 0-45 20.2-45 45v265.6c0 24.8 20.2 45 45 45h563.8c24.8 0 45-20.2 45-45V557.6c0-24.8-20.2-45-45-45H229.4z M773.3 512.6H249.2c-24.8 0-44.9-20.1-44.9-44.9V194.3c0-74.2 60.4-134.6 134.6-134.6h344.7c74.2 0 134.6 60.4 134.6 134.6v273.4c0 24.8-20.1 44.9-44.9 44.9z m-479.2-89.8h434.3V194.3c0-24.7-20.1-44.8-44.8-44.8H338.9c-24.7 0-44.8 20.1-44.8 44.8v228.5z M408.9 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9 24.8 0 44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9zM612.7 354.7c-24.8 0-44.9-20.1-44.9-44.9v-48.9c0-24.8 20.1-44.9 44.9-44.9s44.9 20.1 44.9 44.9v48.9c0 24.8-20.1 44.9-44.9 44.9z</Geometry>
  464. <Geometry x:Key="Icon_Operation">M823.466667 512H578.133333v-187.733333c0-66.133333-53.333333-119.466667-117.333333-119.466667s-117.333333 53.333333-117.333333 119.466667v296.533333l-21.333334-21.333333c-46.933333-46.933333-121.6-46.933333-168.533333-2.133334s-44.8 121.6 2.133333 168.533334l174.933334 174.933333c6.4 6.4 14.933333 8.533333 23.466666 8.533333 8.533333 0 17.066667-2.133333 23.466667-8.533333 12.8-12.8 12.8-32 0-44.8l-174.933333-174.933333c-21.333333-21.333333-23.466667-57.6-2.133334-76.8 21.333333-21.333333 55.466667-19.2 76.8 2.133333l74.666667 74.666667c12.8 12.8 32 12.8 44.8 0 6.4-6.4 8.533333-14.933333 8.533333-23.466667V326.4c0-29.866667 23.466667-55.466667 53.333334-55.466667s53.333333 25.6 53.333333 55.466667v219.733333c0 17.066667 14.933333 32 32 32h277.333333c6.4 0 10.666667 6.4 10.666667 12.8V917.333333c0 17.066667 14.933333 32 32 32S896 934.4 896 917.333333V586.666667c2.133333-40.533333-32-74.666667-72.533333-74.666667z M266.666667 330.666667c17.066667 0 32-14.933333 32-32 0-87.466667 72.533333-160 160-160S618.666667 211.2 618.666667 298.666667c0 17.066667 14.933333 32 32 32S682.666667 315.733333 682.666667 298.666667c0-123.733333-100.266667-224-224-224S234.666667 174.933333 234.666667 298.666667c0 17.066667 14.933333 32 32 32z</Geometry>
  465. <Geometry x:Key="Icon_Configuration">M384 960H224c-52.906667 0-96-43.093333-96-96V160c0-52.906667 43.093333-96 96-96h576c52.906667 0 96 43.093333 96 96v224c0 17.706667-14.293333 32-32 32s-32-14.293333-32-32V160c0-17.706667-14.4-32-32-32H224c-17.706667 0-32 14.293333-32 32v704c0 17.6 14.293333 32 32 32h160c17.706667 0 32 14.293333 32 32s-14.293333 32-32 32z M694.293333 701.866667m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z M755.626667 963.626667l-13.226667-10.666667c-10.56-8.533333-28.16-18.666667-51.626667-18.666667-18.133333 0-35.626667 6.186667-50.56 17.813334l-13.546666 10.453333-16.213334-5.333333c-36.693333-12.053333-71.146667-32.64-99.733333-59.52L498.88 886.4l2.24-16.32c2.56-18.773333-0.853333-37.013333-9.92-52.693333-8.853333-15.36-22.4-27.2-39.253333-34.346667l-15.253334-6.4-3.52-16.213333c-4.053333-18.773333-6.186667-37.76-6.186666-56.32 0-20.373333 2.453333-40.96 7.146666-61.226667l3.733334-15.893333 15.04-6.293334c17.066667-7.146667 30.72-19.093333 39.573333-34.453333 8.746667-15.146667 12.266667-32.64 10.24-50.666667l-1.813333-16.106666 11.946666-10.986667c29.226667-26.986667 64.426667-47.36 101.866667-58.88l15.786667-4.906667 13.013333 10.026667c29.653333 22.506667 70.293333 22.506667 99.84 0l13.013333-10.026667 15.786667 4.906667c37.546667 11.626667 71.466667 31.146667 100.906667 58.026667l12.48 11.413333-2.346667 16.746667c-2.666667 18.88 0.64 37.226667 9.92 53.013333 11.52 19.946667 28.693333 30.08 41.173333 35.093333l15.573334 6.293334L953.6 646.4c4.266667 19.2 6.4 38.613333 6.4 57.6 0 18.986667-2.133333 38.186667-6.293333 57.28l-3.733334 16.853333-16.106666 6.186667c-18.346667 7.04-32.96 19.306667-42.346667 35.52-11.52 20.053333-11.626667 40.106667-9.706667 53.546667l2.56 16.96-12.8 11.52c-29.013333 26.133333-62.613333 45.226667-99.84 56.64l-16.106666 5.12z m-64.853334-93.333334c27.306667 0 53.546667 7.573333 76.693334 22.08 17.813333-7.04 34.453333-16.426667 49.6-28.16-0.746667-26.986667 5.76-53.12 19.2-76.373333 13.76-23.68 33.493333-42.666667 57.706666-55.466667 1.386667-9.493333 2.026667-18.986667 2.026667-28.266666 0-9.386667-0.746667-19.093333-2.133333-28.8-23.573333-12.906667-42.88-31.573333-56.213334-54.72-13.333333-23.146667-19.84-49.066667-19.2-75.733334-15.573333-12.373333-32.746667-22.186667-50.986666-29.333333-45.12 26.666667-102.613333 26.666667-147.733334 0-18.773333 7.36-36.266667 17.493333-52.266666 30.293333-0.106667 25.6-6.613333 50.346667-19.413334 72.426667-13.013333 22.613333-31.573333 40.853333-54.293333 53.653333-1.706667 10.773333-2.666667 21.546667-2.666667 32.213334 0 9.28 0.64 18.666667 2.026667 28.16 22.293333 12.8 40.64 30.933333 53.546667 53.226666 13.333333 23.04 19.84 48.853333 19.306666 75.52 15.253333 12.48 32.32 22.613333 50.24 30.08 22.613333-13.76 48.106667-20.8 74.56-20.8zM736 320H288c-17.706667 0-32-14.293333-32-32s14.293333-32 32-32h448c17.706667 0 32 14.293333 32 32s-14.293333 32-32 32z M480 448H288c-17.706667 0-32-14.293333-32-32s14.293333-32 32-32h192c17.706667 0 32 14.293333 32 32s-14.293333 32-32 32z</Geometry>
  466. <Geometry x:Key="Icon_DataLog">M778.897699 357.164562c0 0-8.915044-25.083282-8.915044-39.09132 0-49.691749 40.274262-89.958848 89.955778-89.958848 49.684586 0 89.959871 40.266076 89.959871 89.958848 0 49.678446-40.275285 89.950661-89.959871 89.950661-3.5345 0-7.02295-0.204661-10.453073-0.599657L688.578648 592.124875c12.164041 15.682167 19.23611 35.808554 19.23611 57.761542 0 50.066279-40.590464 90.657766-90.664929 90.657766-50.073442 0-88.779999-35.885302-88.779999-85.950558l-115.476011-92.133374c-16.444531 17.425881-37.875632 26.425859-63.729463 26.425859-33.247218 0-62.290695-17.981537-77.93193-44.753273l-106.45966 40.508599 0 187.455369c0 32.032554 32.028461 28.257577 32.028461 28.257577l723.428364 0c0 0 30.141484 23.552415 30.141484 49.92404 0 26.376741-30.141484 40.503483-30.141484 40.503483l-754.514359 1.213641c-90.430592 0-89.491197-95.407953-89.491197-95.407953L76.224032 169.234379c0-28.257577 44.276413-32.958646 44.276413-32.958646 28.257577 0 44.272319 29.195949 44.272319 29.195949l0.942465 340.987115 98.001011-31.696909c12.062733-35.609009 30.688953-66.261123 85.449137-66.261123 49.808406 0 90.192162 38.496779 90.192162 88.308255l113.895003 86.481653c17.897625-26.376741 67.666122-24.076348 67.666122-24.076348L778.897699 357.164562z</Geometry>
  467. <Geometry x:Key="Icon_Gou">M198.920606 353.438906l294.89452 398.030819-141.866143 105.106304-294.89452-398.030819 141.866143-105.106304Z M292.668567 679.383279l612.100893-449.37515 104.488343 142.3252-612.100893 449.37515-104.488343-142.3252Z</Geometry>
  468. <Geometry x:Key="Icon_IO">M82.897455 242.920727h145.966545v43.333818c0 31.138909 25.320727 56.506182 56.506182 56.506182h126.882909c31.138909 0 56.506182-25.320727 56.506182-56.506182v-43.333818h475.275636a34.909091 34.909091 0 0 0 0-69.818182H468.712727v-43.426909c0-31.138909-25.320727-56.459636-56.506182-56.459636H285.370182c-31.138909 0-56.506182 25.320727-56.506182 56.459636v43.426909H82.897455a34.909091 34.909091 0 0 0 0 69.818182z m215.784727-99.886545H398.894545v129.908363H298.682182V143.034182z m645.306182 343.179636h-145.966546v-43.333818c0-31.185455-25.367273-56.552727-56.506182-56.552727h-126.882909c-31.138909 0-56.506182 25.367273-56.506182 56.552727v43.380364H82.897455a34.909091 34.909091 0 0 0 0 69.818181h475.275636v43.380364c0 31.138909 25.367273 56.506182 56.506182 56.506182h126.882909c31.138909 0 56.506182-25.367273 56.506182-56.506182v-43.380364h145.966545a34.909091 34.909091 0 1 0-0.046545-69.864727z m-215.738182 99.886546h-100.212364V456.145455h100.212364v129.954909z m215.738182 213.224727H468.712727v-43.380364c0-31.138909-25.320727-56.506182-56.506182-56.506182H285.370182c-31.138909 0-56.506182 25.367273-56.506182 56.506182v43.380364H82.897455a34.909091 34.909091 0 0 0 0 69.818182h145.966545v43.380363c0 31.185455 25.320727 56.552727 56.506182 56.552728h126.882909c31.138909 0 56.506182-25.367273 56.506182-56.552728v-43.380363h475.275636a34.909091 34.909091 0 1 0-0.046545-69.818182zM398.894545 899.211636H298.682182v-129.954909H398.894545v129.954909z</Geometry>
  469. <Geometry x:Key="Icon_TM">M226.167467 541.474133A106.632533 106.632533 0 1 1 332.8 434.8416a106.752 106.752 0 0 1-106.632533 106.632533z m0-179.114666A72.4992 72.4992 0 1 0 298.666667 434.8416a72.567467 72.567467 0 0 0-72.4992-72.482133z M227.9424 541.44a108.1856 108.1856 0 0 1-49.339733-204.561067L507.733333 168.96a108.1856 108.1856 0 1 1 98.304 192.853333l-329.130666 167.8336a107.52 107.52 0 0 1-48.964267 11.793067z m328.823467-350.088533a73.693867 73.693867 0 0 0-33.536 8.0896L194.116267 367.274667a74.069333 74.069333 0 1 0 67.293866 131.959466L590.506667 331.400533a74.069333 74.069333 0 0 0-33.757867-140.049066z M436.667733 849.527467a110.626133 110.626133 0 0 1-20.155733-1.877334 107.52 107.52 0 0 1-69.358933-45.243733L138.461867 497.544533a108.202667 108.202667 0 0 1 178.568533-122.231466L525.653333 680.192a108.2368 108.2368 0 0 1-89.053866 169.335467zM227.6352 362.3936a74.018133 74.018133 0 0 0-61.013333 115.8656l208.6912 304.878933a74.069333 74.069333 0 1 0 122.231466-83.626666L288.8704 394.5984a74.052267 74.052267 0 0 0-61.2352-32.2048zM657.237333 266.581333l-11.281066-28.347733c-4.693333-14.062933-7.645867-18.670933-15.5648-30.976l-1.211734-1.8944-21.845333-23.278933L704.699733 146.773333l-0.1024 98.7136z m14.506667-37.376l0.3584 0.904534 5.205333-2.321067v-42.018133l-22.971733 8.311466c7.850667 12.066133 11.9296 18.807467 17.408 35.1232zM819.9168 344.337067l-90.999467-75.997867 1.8432-132.2496 93.0816-73.4208 81.646934 68.181333-32.8192 39.287467-49.749334-41.540267-41.301333 32.580267-1.1776 83.5072 40.3968 33.723733 50.8928-40.1408 31.709867 40.192-83.524267 65.877334z M701.1328 183.944533h37.819733v32.4096h-37.819733zM338.397867 775.611733h14.779733a16.093867 16.093867 0 0 1 16.093867 16.093867v89.736533h-30.8736v-105.813333-0.017067zM513.962667 723.524267h9.181866a21.538133 21.538133 0 0 1 21.538134 21.538133v144.401067h-30.72v-165.9392z M769.518933 967.099733H128.853333a41.147733 41.147733 0 0 1-41.096533-41.1136v-7.099733a41.130667 41.130667 0 0 1 41.096533-41.096533h640.6656A41.147733 41.147733 0 0 1 810.666667 918.8864v7.099733a41.1648 41.1648 0 0 1-41.147734 41.1136zM128.853333 911.9232a6.9632 6.9632 0 0 0-6.9632 6.9632v7.099733a6.980267 6.980267 0 0 0 6.9632 6.980267h640.6656a6.980267 6.980267 0 0 0 6.980267-6.980267v-7.099733a6.980267 6.980267 0 0 0-6.980267-6.9632z M171.8272 960H129.792a42.0864 42.0864 0 0 1-42.0352-42.0352v-62.395733a42.0352 42.0352 0 0 1 84.0704 0z m-42.0352-112.3328a7.918933 7.918933 0 0 0-7.901867 7.901867v62.395733a7.918933 7.918933 0 0 0 7.901867 7.901867h7.901867v-70.2976a7.901867 7.901867 0 0 0-7.901867-7.901867zM768.1536 960h-42.0352v-104.430933a42.0352 42.0352 0 0 1 84.0704 0v62.395733a42.0864 42.0864 0 0 1-42.0352 42.0352z m-7.901867-34.133333h7.901867a7.918933 7.918933 0 0 0 7.901867-7.901867v-62.395733a7.901867 7.901867 0 0 0-15.803734 0z</Geometry>
  470. <converters:BoolToDirection x:Key="boolToDirection"/>
  471. </ResourceDictionary>