Generic.xaml 113 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282
  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. xmlns:userControls="clr-namespace:Venus_Themes.UserControls"
  6. >
  7. <converters:BoolToDirection x:Key="boolToDirection"/>
  8. <converters:BoolToBool x:Key="BoolToBool"/>
  9. <converters:IsLastItemConverter x:Key="IsLastItemConverter"/>
  10. <converters:IsProgressedConverter x:Key="IsProgressedConverter"/>
  11. <SolidColorBrush x:Key="robotBorderBrush" Color="#030303" />
  12. <LinearGradientBrush x:Key="RobotBrush" StartPoint="0,0" EndPoint="1,0">
  13. <LinearGradientBrush.GradientStops>
  14. <GradientStop Color="Silver" Offset="0"/>
  15. <GradientStop Color="White" Offset="0.9"/>
  16. <GradientStop Color="Silver" Offset="1"/>
  17. </LinearGradientBrush.GradientStops>
  18. </LinearGradientBrush>
  19. <LinearGradientBrush x:Key="RobotBrush2" StartPoint="0,0" EndPoint="1,0">
  20. <LinearGradientBrush.GradientStops>
  21. <GradientStop Color="Gray" Offset="0"/>
  22. <GradientStop Color="White" Offset="0.9"/>
  23. <GradientStop Color="Gray" Offset="1"/>
  24. </LinearGradientBrush.GradientStops>
  25. </LinearGradientBrush>
  26. <Style TargetType="{x:Type customControls:WaferRobotControl}" >
  27. <!--<Setter Property="Cursor" Value="Hand" />-->
  28. <Setter Property="Width" Value="200"/>
  29. <Setter Property="Height" Value="250"/>
  30. <Setter Property="Template">
  31. <Setter.Value>
  32. <ControlTemplate TargetType="{x:Type customControls:WaferRobotControl}">
  33. <Viewbox x:Name="viewbox" Stretch="Fill">
  34. <VisualStateManager.VisualStateGroups>
  35. <VisualStateGroup Name="RobotXActions">
  36. <VisualStateGroup.Transitions>
  37. <VisualTransition To="Extend">
  38. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  39. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  40. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  41. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  42. </DoubleAnimationUsingKeyFrames>
  43. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  44. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  45. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  46. </DoubleAnimationUsingKeyFrames>
  47. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  48. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  49. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:8"/>
  50. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:7"/>
  51. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:6"/>
  52. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:5"/>
  53. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:4"/>
  54. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:3"/>
  55. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:2"/>
  56. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:1"/>
  57. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  58. </DoubleAnimationUsingKeyFrames>
  59. </Storyboard>
  60. </VisualTransition>
  61. <VisualTransition To="Retract">
  62. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  63. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  64. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  65. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:9"/>
  66. </DoubleAnimationUsingKeyFrames>
  67. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  68. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  69. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:9"/>
  70. </DoubleAnimationUsingKeyFrames>
  71. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  72. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  73. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:1"/>
  74. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:2"/>
  75. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:3"/>
  76. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:4"/>
  77. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:5"/>
  78. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:6"/>
  79. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:7"/>
  80. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:8"/>
  81. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:9"/>
  82. </DoubleAnimationUsingKeyFrames>
  83. </Storyboard>
  84. </VisualTransition>
  85. </VisualStateGroup.Transitions>
  86. <VisualState Name="X_Origin">
  87. <Storyboard FillBehavior="HoldEnd">
  88. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  89. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  90. </DoubleAnimationUsingKeyFrames>
  91. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  92. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  93. </DoubleAnimationUsingKeyFrames>
  94. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  95. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  96. </DoubleAnimationUsingKeyFrames>
  97. </Storyboard>
  98. </VisualState>
  99. <VisualState Name="Extend">
  100. <Storyboard FillBehavior="HoldEnd">
  101. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  102. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  103. </DoubleAnimationUsingKeyFrames>
  104. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  105. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  106. </DoubleAnimationUsingKeyFrames>
  107. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  108. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  109. </DoubleAnimationUsingKeyFrames>
  110. </Storyboard>
  111. </VisualState>
  112. <VisualState Name="Retract">
  113. <Storyboard FillBehavior="HoldEnd">
  114. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  115. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  116. </DoubleAnimationUsingKeyFrames>
  117. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  118. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  119. </DoubleAnimationUsingKeyFrames>
  120. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  121. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  122. </DoubleAnimationUsingKeyFrames>
  123. </Storyboard>
  124. </VisualState>
  125. </VisualStateGroup>
  126. <VisualStateGroup Name="RobotTActions">
  127. <VisualStateGroup.Transitions>
  128. <VisualTransition To="T_Origin">
  129. <Storyboard FillBehavior="HoldEnd">
  130. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  131. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:1"/>
  132. </DoubleAnimationUsingKeyFrames>
  133. </Storyboard>
  134. </VisualTransition>
  135. <VisualTransition To="PMA">
  136. <Storyboard FillBehavior="HoldEnd">
  137. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  138. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:1"/>
  139. </DoubleAnimationUsingKeyFrames>
  140. </Storyboard>
  141. </VisualTransition>
  142. <VisualTransition To="PMB">
  143. <Storyboard FillBehavior="HoldEnd">
  144. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  145. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:1"/>
  146. </DoubleAnimationUsingKeyFrames>
  147. </Storyboard>
  148. </VisualTransition>
  149. <VisualTransition To="PMC">
  150. <Storyboard FillBehavior="HoldEnd">
  151. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  152. <LinearDoubleKeyFrame Value="120" KeyTime="0:0:1"/>
  153. </DoubleAnimationUsingKeyFrames>
  154. </Storyboard>
  155. </VisualTransition>
  156. <VisualTransition To="PMD">
  157. <Storyboard FillBehavior="HoldEnd">
  158. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  159. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:1"/>
  160. </DoubleAnimationUsingKeyFrames>
  161. </Storyboard>
  162. </VisualTransition>
  163. <VisualTransition To="LLA">
  164. <Storyboard FillBehavior="HoldEnd">
  165. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  166. <LinearDoubleKeyFrame Value="-65" KeyTime="0:0:1"/>
  167. </DoubleAnimationUsingKeyFrames>
  168. </Storyboard>
  169. </VisualTransition>
  170. <VisualTransition To="LLB">
  171. <Storyboard FillBehavior="HoldEnd">
  172. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  173. <LinearDoubleKeyFrame Value="-115" KeyTime="0:0:1"/>
  174. </DoubleAnimationUsingKeyFrames>
  175. </Storyboard>
  176. </VisualTransition>
  177. </VisualStateGroup.Transitions>
  178. <VisualState Name="T_Origin">
  179. <Storyboard FillBehavior="HoldEnd">
  180. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  181. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  182. </DoubleAnimationUsingKeyFrames>
  183. </Storyboard>
  184. </VisualState>
  185. <VisualState Name="PMA">
  186. <Storyboard FillBehavior="HoldEnd">
  187. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  188. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  189. </DoubleAnimationUsingKeyFrames>
  190. </Storyboard>
  191. </VisualState>
  192. <VisualState Name="PMB">
  193. <Storyboard FillBehavior="HoldEnd">
  194. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  195. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:0"/>
  196. </DoubleAnimationUsingKeyFrames>
  197. </Storyboard>
  198. </VisualState>
  199. <VisualState Name="PMC">
  200. <Storyboard FillBehavior="HoldEnd">
  201. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  202. <LinearDoubleKeyFrame Value="120" KeyTime="0:0:0"/>
  203. </DoubleAnimationUsingKeyFrames>
  204. </Storyboard>
  205. </VisualState>
  206. <VisualState Name="PMD">
  207. <Storyboard FillBehavior="HoldEnd">
  208. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  209. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0"/>
  210. </DoubleAnimationUsingKeyFrames>
  211. </Storyboard>
  212. </VisualState>
  213. <VisualState Name="LLA">
  214. <Storyboard FillBehavior="HoldEnd">
  215. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  216. <LinearDoubleKeyFrame Value="-65" KeyTime="0:0:0"/>
  217. </DoubleAnimationUsingKeyFrames>
  218. </Storyboard>
  219. </VisualState>
  220. <VisualState Name="LLB">
  221. <Storyboard FillBehavior="HoldEnd">
  222. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  223. <LinearDoubleKeyFrame Value="-115" KeyTime="0:0:0"/>
  224. </DoubleAnimationUsingKeyFrames>
  225. </Storyboard>
  226. </VisualState>
  227. </VisualStateGroup>
  228. </VisualStateManager.VisualStateGroups>
  229. <Canvas Width="200" Height="300" >
  230. <Canvas x:Name="robot" Width="100" Height="150" RenderTransformOrigin="1 1" >
  231. <Canvas.RenderTransform>
  232. <TransformGroup>
  233. <RotateTransform x:Name="robotRotateAct"/>
  234. <!--<TranslateTransform x:Name="robotUpDownAct"></TranslateTransform>-->
  235. </TransformGroup>
  236. </Canvas.RenderTransform>
  237. <Canvas x:Name="armXT1" Width="200" Height="100" Canvas.Top="100" RenderTransformOrigin="0.5 0.5">
  238. <Canvas.RenderTransform>
  239. <RotateTransform x:Name="armXT1RotateAct"/>
  240. </Canvas.RenderTransform>
  241. <Canvas x:Name="armXT1Arm" Width="70" Height="30" Canvas.Left="30" Canvas.Top="35" RenderTransformOrigin="1 0.5" ToolTip="后臂">
  242. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  243. <Path.Data>
  244. <PathGeometry>
  245. <PathFigure StartPoint="0 5" IsClosed="True">
  246. <LineSegment Point="51 0"/>
  247. <LineSegment Point="51 30" IsStroked="False"/>
  248. <LineSegment Point="0 25"/>
  249. <LineSegment Point="0 5" IsStroked="False"/>
  250. </PathFigure>
  251. </PathGeometry>
  252. </Path.Data>
  253. </Path>
  254. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  255. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  256. Data="M 0,5 A 10,10 0 0 0 0,25">
  257. </Path>
  258. </Canvas>
  259. <Canvas x:Name="armXT1Center" Width="40" Height="40" Canvas.Left="80" Canvas.Top="30" ToolTip="底座">
  260. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  261. <Path.Data>
  262. <PathGeometry>
  263. <PathFigure StartPoint="0 6" IsClosed="True">
  264. <LineSegment Point="6 0"/>
  265. <LineSegment Point="34 0"/>
  266. <LineSegment Point="40 6"/>
  267. <LineSegment Point="40 34"/>
  268. <LineSegment Point="34 40"/>
  269. <LineSegment Point="6 40"/>
  270. <LineSegment Point="0 34"/>
  271. </PathFigure>
  272. </PathGeometry>
  273. </Path.Data>
  274. </Path>
  275. <!--<Ellipse Width="40" Height="40" Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round"></Ellipse>-->
  276. </Canvas>
  277. </Canvas>
  278. <Canvas x:Name="armXT2" Width="120" Height="40" Canvas.Left="-90" Canvas.Top="130">
  279. <Canvas.RenderTransform>
  280. <TransformGroup>
  281. <TranslateTransform x:Name="armXT2Act"></TranslateTransform>
  282. </TransformGroup>
  283. </Canvas.RenderTransform>
  284. <Canvas x:Name="armXT2Arm" Width="70" Height="20" Canvas.Left="50" Canvas.Top="10" RenderTransformOrigin="0 0.5" Background="#6495ED" ToolTip="前臂">
  285. <Canvas.RenderTransform>
  286. <RotateTransform x:Name="armXT2ArmRotateAct"/>
  287. </Canvas.RenderTransform>
  288. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="70"
  289. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="WhiteSmoke"
  290. Data="M 0,0 A 10,10 0 0 1 0,20">
  291. </Path>
  292. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  293. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  294. Data="M 0,0 A 10,10 0 0 0 0,20">
  295. </Path>
  296. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  297. <Path.Data>
  298. <PathGeometry>
  299. <PathFigure StartPoint="70 0" >
  300. <LineSegment Point="0 0" />
  301. <LineSegment Point="0 20" IsStroked="False"/>
  302. <LineSegment Point="70 20"/>
  303. <LineSegment Point="70 0" IsStroked="False"/>
  304. </PathFigure>
  305. </PathGeometry>
  306. </Path.Data>
  307. </Path>
  308. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  309. Canvas.Top="4" Canvas.Left="62"/>
  310. </Canvas>
  311. <Canvas x:Name="armGripper" Height="40" Width="50" Canvas.Left="0" Canvas.Top="0">
  312. <!--<Path Data="M 30 10 30 30 -20 25 -20 15 30 10z" Stroke="Black" Fill="{StaticResource RobotBrush2}" StrokeThickness="1" StrokeEndLineCap="Round">-->
  313. <Path Stroke="Black" StrokeThickness="5" StrokeEndLineCap="Round">
  314. <Path.Data>
  315. <PathGeometry>
  316. <PathFigure StartPoint="30 14" >
  317. <LineSegment Point="10 14" />
  318. <LineSegment Point="4 8" />
  319. <LineSegment Point="-6 8" />
  320. </PathFigure>
  321. <PathFigure StartPoint="30 26" >
  322. <LineSegment Point="10 26" />
  323. <LineSegment Point="4 32" />
  324. <LineSegment Point="-6 32" />
  325. </PathFigure>
  326. <!--<PathFigure StartPoint="30 10" >
  327. <LineSegment Point="30 30" />
  328. <LineSegment Point="-20 25" />
  329. <LineSegment Point="-20 15" />
  330. <LineSegment Point="30 10" />
  331. </PathFigure>-->
  332. </PathGeometry>
  333. </Path.Data>
  334. </Path>
  335. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  336. <Path.Data>
  337. <PathGeometry>
  338. <PathFigure StartPoint="40 0" >
  339. <LineSegment Point="60 0" />
  340. <LineSegment Point="60 40" />
  341. <LineSegment Point="40 40" />
  342. <LineSegment Point="30 30" />
  343. <LineSegment Point="30 10" />
  344. <LineSegment Point="40 0" />
  345. </PathFigure>
  346. </PathGeometry>
  347. </Path.Data>
  348. </Path>
  349. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  350. <Path.Data>
  351. <PathGeometry>
  352. <PathFigure StartPoint="30 10" >
  353. <LineSegment Point="20 10" />
  354. <LineSegment Point="20 30" />
  355. <LineSegment Point="30 30" />
  356. <LineSegment Point="30 10" IsStroked="False"/>
  357. </PathFigure>
  358. </PathGeometry>
  359. </Path.Data>
  360. </Path>
  361. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  362. Canvas.Top="14" Canvas.Left="44"/>
  363. <Viewbox Canvas.Left="-64" Canvas.Top="-21" Width="85" Height="85">
  364. <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="False"/>
  365. </Viewbox>
  366. </Canvas>
  367. </Canvas>
  368. </Canvas>
  369. </Canvas>
  370. </Viewbox>
  371. </ControlTemplate>
  372. </Setter.Value>
  373. </Setter>
  374. </Style>
  375. <Style TargetType="{x:Type customControls:GuangChuanRobotControl}" >
  376. <Setter Property="Cursor" Value="Hand" />
  377. <Setter Property="Width" Value="200"/>
  378. <Setter Property="Height" Value="250"/>
  379. <Setter Property="Template">
  380. <Setter.Value>
  381. <ControlTemplate TargetType="{x:Type customControls:GuangChuanRobotControl}">
  382. <Viewbox x:Name="viewbox" Stretch="Fill">
  383. <VisualStateManager.VisualStateGroups>
  384. <VisualStateGroup Name="RobotXActions">
  385. <VisualStateGroup.Transitions>
  386. <VisualTransition To="Extend">
  387. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  388. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  389. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  390. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  391. </DoubleAnimationUsingKeyFrames>
  392. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  393. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  394. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  395. </DoubleAnimationUsingKeyFrames>
  396. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  397. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:9"/>
  398. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:8"/>
  399. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:7"/>
  400. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:6"/>
  401. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:5"/>
  402. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:4"/>
  403. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:3"/>
  404. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:2"/>
  405. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:1"/>
  406. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  407. </DoubleAnimationUsingKeyFrames>
  408. </Storyboard>
  409. </VisualTransition>
  410. <VisualTransition To="Retract">
  411. <Storyboard FillBehavior="HoldEnd" SpeedRatio="6">
  412. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  413. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  414. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:9"/>
  415. </DoubleAnimationUsingKeyFrames>
  416. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  417. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  418. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:9"/>
  419. </DoubleAnimationUsingKeyFrames>
  420. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  421. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  422. <LinearDoubleKeyFrame Value="2.126" KeyTime="0:0:1"/>
  423. <LinearDoubleKeyFrame Value="8.443" KeyTime="0:0:2"/>
  424. <LinearDoubleKeyFrame Value="18.756" KeyTime="0:0:3"/>
  425. <LinearDoubleKeyFrame Value="32.753" KeyTime="0:0:4"/>
  426. <LinearDoubleKeyFrame Value="50.009" KeyTime="0:0:5"/>
  427. <LinearDoubleKeyFrame Value="70" KeyTime="0:0:6"/>
  428. <LinearDoubleKeyFrame Value="92.117" KeyTime="0:0:7"/>
  429. <LinearDoubleKeyFrame Value="115.689" KeyTime="0:0:8"/>
  430. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:9"/>
  431. </DoubleAnimationUsingKeyFrames>
  432. </Storyboard>
  433. </VisualTransition>
  434. </VisualStateGroup.Transitions>
  435. <VisualState Name="X_Origin">
  436. <Storyboard FillBehavior="HoldEnd">
  437. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  438. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  439. </DoubleAnimationUsingKeyFrames>
  440. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  441. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  442. </DoubleAnimationUsingKeyFrames>
  443. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  444. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  445. </DoubleAnimationUsingKeyFrames>
  446. </Storyboard>
  447. </VisualState>
  448. <VisualState Name="Extend">
  449. <Storyboard FillBehavior="HoldEnd">
  450. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  451. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  452. </DoubleAnimationUsingKeyFrames>
  453. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  454. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  455. </DoubleAnimationUsingKeyFrames>
  456. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  457. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  458. </DoubleAnimationUsingKeyFrames>
  459. </Storyboard>
  460. </VisualState>
  461. <VisualState Name="Retract">
  462. <Storyboard FillBehavior="HoldEnd">
  463. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT1RotateAct" Storyboard.TargetProperty="Angle">
  464. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  465. </DoubleAnimationUsingKeyFrames>
  466. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2ArmRotateAct" Storyboard.TargetProperty="Angle">
  467. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  468. </DoubleAnimationUsingKeyFrames>
  469. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="armXT2Act" Storyboard.TargetProperty="X">
  470. <LinearDoubleKeyFrame Value="140" KeyTime="0:0:0"/>
  471. </DoubleAnimationUsingKeyFrames>
  472. </Storyboard>
  473. </VisualState>
  474. </VisualStateGroup>
  475. <VisualStateGroup Name="RobotTActions">
  476. <VisualStateGroup.Transitions>
  477. <VisualTransition To="T_Origin">
  478. <Storyboard FillBehavior="HoldEnd">
  479. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  480. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:1"/>
  481. </DoubleAnimationUsingKeyFrames>
  482. </Storyboard>
  483. </VisualTransition>
  484. <VisualTransition To="Aligner1">
  485. <Storyboard FillBehavior="HoldEnd">
  486. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  487. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:1"/>
  488. </DoubleAnimationUsingKeyFrames>
  489. </Storyboard>
  490. </VisualTransition>
  491. <VisualTransition To="LP1">
  492. <Storyboard FillBehavior="HoldEnd">
  493. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  494. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/>
  495. </DoubleAnimationUsingKeyFrames>
  496. </Storyboard>
  497. </VisualTransition>
  498. <VisualTransition To="LP2">
  499. <Storyboard FillBehavior="HoldEnd">
  500. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  501. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/>
  502. </DoubleAnimationUsingKeyFrames>
  503. </Storyboard>
  504. </VisualTransition>
  505. <VisualTransition To="LP3">
  506. <Storyboard FillBehavior="HoldEnd">
  507. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  508. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:1"/>
  509. </DoubleAnimationUsingKeyFrames>
  510. </Storyboard>
  511. </VisualTransition>
  512. <VisualTransition To="LLA">
  513. <Storyboard FillBehavior="HoldEnd">
  514. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  515. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:1"/>
  516. </DoubleAnimationUsingKeyFrames>
  517. </Storyboard>
  518. </VisualTransition>
  519. <VisualTransition To="LLB">
  520. <Storyboard FillBehavior="HoldEnd">
  521. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  522. <LinearDoubleKeyFrame Value="125" KeyTime="0:0:1"/>
  523. </DoubleAnimationUsingKeyFrames>
  524. </Storyboard>
  525. </VisualTransition>
  526. <VisualTransition To="RightLocation">
  527. <Storyboard FillBehavior="HoldEnd">
  528. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRightLeftAct" Storyboard.TargetProperty="X">
  529. <LinearDoubleKeyFrame Value="80" KeyTime="0:0:1"/>
  530. </DoubleAnimationUsingKeyFrames>
  531. </Storyboard>
  532. </VisualTransition>
  533. <VisualTransition To="LeftLocation">
  534. <Storyboard FillBehavior="HoldEnd">
  535. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRightLeftAct" Storyboard.TargetProperty="X">
  536. <LinearDoubleKeyFrame Value="-80" KeyTime="0:0:1"/>
  537. </DoubleAnimationUsingKeyFrames>
  538. </Storyboard>
  539. </VisualTransition>
  540. <VisualTransition To="PMD">
  541. <Storyboard FillBehavior="HoldEnd">
  542. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  543. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:1"/>
  544. </DoubleAnimationUsingKeyFrames>
  545. </Storyboard>
  546. </VisualTransition>
  547. </VisualStateGroup.Transitions>
  548. <VisualState Name="T_Origin">
  549. <Storyboard FillBehavior="HoldEnd">
  550. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  551. <LinearDoubleKeyFrame Value="90" KeyTime="0:0:0"/>
  552. </DoubleAnimationUsingKeyFrames>
  553. </Storyboard>
  554. </VisualState>
  555. <VisualState Name="Aligner1">
  556. <Storyboard FillBehavior="HoldEnd">
  557. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  558. <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
  559. </DoubleAnimationUsingKeyFrames>
  560. </Storyboard>
  561. </VisualState>
  562. <VisualState Name="LP1">
  563. <Storyboard FillBehavior="HoldEnd">
  564. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  565. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  566. </DoubleAnimationUsingKeyFrames>
  567. </Storyboard>
  568. </VisualState>
  569. <VisualState Name="LP2">
  570. <Storyboard FillBehavior="HoldEnd">
  571. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  572. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  573. </DoubleAnimationUsingKeyFrames>
  574. </Storyboard>
  575. </VisualState>
  576. <VisualState Name="LP3">
  577. <Storyboard FillBehavior="HoldEnd">
  578. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  579. <LinearDoubleKeyFrame Value="-90" KeyTime="0:0:0"/>
  580. </DoubleAnimationUsingKeyFrames>
  581. </Storyboard>
  582. </VisualState>
  583. <VisualState Name="LLA">
  584. <Storyboard FillBehavior="HoldEnd">
  585. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  586. <LinearDoubleKeyFrame Value="60" KeyTime="0:0:0"/>
  587. </DoubleAnimationUsingKeyFrames>
  588. </Storyboard>
  589. </VisualState>
  590. <VisualState Name="LLB">
  591. <Storyboard FillBehavior="HoldEnd">
  592. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  593. <LinearDoubleKeyFrame Value="125" KeyTime="0:0:0"/>
  594. </DoubleAnimationUsingKeyFrames>
  595. </Storyboard>
  596. </VisualState>
  597. <VisualState Name="RightLocation">
  598. <Storyboard FillBehavior="HoldEnd">
  599. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRightLeftAct" Storyboard.TargetProperty="X">
  600. <LinearDoubleKeyFrame Value="80" KeyTime="0:0:0"/>
  601. </DoubleAnimationUsingKeyFrames>
  602. </Storyboard>
  603. </VisualState>
  604. <VisualState Name="LeftLocation">
  605. <Storyboard FillBehavior="HoldEnd">
  606. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRightLeftAct" Storyboard.TargetProperty="X">
  607. <LinearDoubleKeyFrame Value="-80" KeyTime="0:0:0"/>
  608. </DoubleAnimationUsingKeyFrames>
  609. </Storyboard>
  610. </VisualState>
  611. <VisualState Name="PMD">
  612. <Storyboard FillBehavior="HoldEnd">
  613. <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="Angle">
  614. <LinearDoubleKeyFrame Value="180" KeyTime="0:0:0"/>
  615. </DoubleAnimationUsingKeyFrames>
  616. </Storyboard>
  617. </VisualState>
  618. </VisualStateGroup>
  619. </VisualStateManager.VisualStateGroups>
  620. <Canvas Width="200" Height="300" >
  621. <Canvas.RenderTransform>
  622. <TransformGroup>
  623. <TranslateTransform x:Name="robotRightLeftAct"></TranslateTransform>
  624. </TransformGroup>
  625. </Canvas.RenderTransform>
  626. <Canvas x:Name="robot" Width="100" Height="150" RenderTransformOrigin="1 1" >
  627. <Canvas.RenderTransform>
  628. <TransformGroup>
  629. <RotateTransform x:Name="robotRotateAct"/>
  630. </TransformGroup>
  631. </Canvas.RenderTransform>
  632. <Canvas x:Name="armXT1" Width="200" Height="100" Canvas.Top="100" RenderTransformOrigin="0.5 0.5">
  633. <Canvas.RenderTransform>
  634. <RotateTransform x:Name="armXT1RotateAct"/>
  635. </Canvas.RenderTransform>
  636. <Canvas x:Name="armXT1Arm" Width="70" Height="30" Canvas.Left="30" Canvas.Top="35" RenderTransformOrigin="1 0.5" ToolTip="后臂">
  637. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  638. <Path.Data>
  639. <PathGeometry>
  640. <PathFigure StartPoint="0 5" IsClosed="True">
  641. <LineSegment Point="51 0"/>
  642. <LineSegment Point="51 30" IsStroked="False"/>
  643. <LineSegment Point="0 25"/>
  644. <LineSegment Point="0 5" IsStroked="False"/>
  645. </PathFigure>
  646. </PathGeometry>
  647. </Path.Data>
  648. </Path>
  649. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  650. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  651. Data="M 0,5 A 10,10 0 0 0 0,25">
  652. </Path>
  653. </Canvas>
  654. <Canvas x:Name="armXT1Center" Width="40" Height="40" Canvas.Left="80" Canvas.Top="30" ToolTip="底座">
  655. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  656. <Path.Data>
  657. <PathGeometry>
  658. <PathFigure StartPoint="0 6" IsClosed="True">
  659. <LineSegment Point="6 0"/>
  660. <LineSegment Point="34 0"/>
  661. <LineSegment Point="40 6"/>
  662. <LineSegment Point="40 34"/>
  663. <LineSegment Point="34 40"/>
  664. <LineSegment Point="6 40"/>
  665. <LineSegment Point="0 34"/>
  666. </PathFigure>
  667. </PathGeometry>
  668. </Path.Data>
  669. </Path>
  670. <!--<Ellipse Width="40" Height="40" Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round"></Ellipse>-->
  671. </Canvas>
  672. </Canvas>
  673. <Canvas x:Name="armXT2" Width="120" Height="40" Canvas.Left="-90" Canvas.Top="130">
  674. <Canvas.RenderTransform>
  675. <TransformGroup>
  676. <TranslateTransform x:Name="armXT2Act"></TranslateTransform>
  677. </TransformGroup>
  678. </Canvas.RenderTransform>
  679. <Canvas x:Name="armXT2Arm" Width="70" Height="20" Canvas.Left="50" Canvas.Top="10" RenderTransformOrigin="0 0.5" Background="#6495ED" ToolTip="前臂">
  680. <Canvas.RenderTransform>
  681. <RotateTransform x:Name="armXT2ArmRotateAct"/>
  682. </Canvas.RenderTransform>
  683. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="70"
  684. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="WhiteSmoke"
  685. Data="M 0,0 A 10,10 0 0 1 0,20">
  686. </Path>
  687. <Path Stroke="{StaticResource robotBorderBrush}" StrokeThickness="1" Canvas.Left="0"
  688. StrokeEndLineCap="Round" StrokeStartLineCap="Round" Fill="{StaticResource RobotBrush}"
  689. Data="M 0,0 A 10,10 0 0 0 0,20">
  690. </Path>
  691. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  692. <Path.Data>
  693. <PathGeometry>
  694. <PathFigure StartPoint="70 0" >
  695. <LineSegment Point="0 0" />
  696. <LineSegment Point="0 20" IsStroked="False"/>
  697. <LineSegment Point="70 20"/>
  698. <LineSegment Point="70 0" IsStroked="False"/>
  699. </PathFigure>
  700. </PathGeometry>
  701. </Path.Data>
  702. </Path>
  703. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  704. Canvas.Top="4" Canvas.Left="62"/>
  705. </Canvas>
  706. <Canvas x:Name="armGripper" Height="40" Width="50" Canvas.Left="0" Canvas.Top="0">
  707. <!--<Path Data="M 30 10 30 30 -20 25 -20 15 30 10z" Stroke="Black" Fill="{StaticResource RobotBrush2}" StrokeThickness="1" StrokeEndLineCap="Round">-->
  708. <Path Stroke="Black" StrokeThickness="5" StrokeEndLineCap="Round">
  709. <Path.Data>
  710. <PathGeometry>
  711. <PathFigure StartPoint="30 14" >
  712. <LineSegment Point="10 14" />
  713. <LineSegment Point="4 8" />
  714. <LineSegment Point="-6 8" />
  715. </PathFigure>
  716. <PathFigure StartPoint="30 26" >
  717. <LineSegment Point="10 26" />
  718. <LineSegment Point="4 32" />
  719. <LineSegment Point="-6 32" />
  720. </PathFigure>
  721. <!--<PathFigure StartPoint="30 10" >
  722. <LineSegment Point="30 30" />
  723. <LineSegment Point="-20 25" />
  724. <LineSegment Point="-20 15" />
  725. <LineSegment Point="30 10" />
  726. </PathFigure>-->
  727. </PathGeometry>
  728. </Path.Data>
  729. </Path>
  730. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  731. <Path.Data>
  732. <PathGeometry>
  733. <PathFigure StartPoint="40 0" >
  734. <LineSegment Point="60 0" />
  735. <LineSegment Point="60 40" />
  736. <LineSegment Point="40 40" />
  737. <LineSegment Point="30 30" />
  738. <LineSegment Point="30 10" />
  739. <LineSegment Point="40 0" />
  740. </PathFigure>
  741. </PathGeometry>
  742. </Path.Data>
  743. </Path>
  744. <Path Stroke="{StaticResource robotBorderBrush}" Fill="{StaticResource RobotBrush}" StrokeThickness="1" StrokeEndLineCap="Round" >
  745. <Path.Data>
  746. <PathGeometry>
  747. <PathFigure StartPoint="30 10" >
  748. <LineSegment Point="20 10" />
  749. <LineSegment Point="20 30" />
  750. <LineSegment Point="30 30" />
  751. <LineSegment Point="30 10" IsStroked="False"/>
  752. </PathFigure>
  753. </PathGeometry>
  754. </Path.Data>
  755. </Path>
  756. <Ellipse Width="12" Height="12" Stroke="#030303" StrokeThickness="2" Fill="Transparent"
  757. Canvas.Top="14" Canvas.Left="44"/>
  758. <Viewbox Canvas.Left="-64" Canvas.Top="-21" Width="85" Height="85">
  759. <userControls:WaferCtrl WaferData="{Binding RobotWafer,RelativeSource={RelativeSource TemplatedParent}}"/>
  760. </Viewbox>
  761. </Canvas>
  762. </Canvas>
  763. </Canvas>
  764. </Canvas>
  765. </Viewbox>
  766. </ControlTemplate>
  767. </Setter.Value>
  768. </Setter>
  769. </Style>
  770. <Style TargetType="{x:Type customControls:CommonValveControl}">
  771. <Setter Property="Focusable" Value="False"/>
  772. <Setter Property="Template">
  773. <Setter.Value>
  774. <ControlTemplate TargetType="{x:Type customControls:CommonValveControl}">
  775. <Viewbox Stretch="Fill">
  776. <Grid x:Name="mainBody">
  777. <Canvas Width="40" Height="40">
  778. <Ellipse Height="40" Width="40" Fill="Gray"/>
  779. <Ellipse x:Name="InnerEllipse" Height="30" Width="30" Canvas.Left="5" Canvas.Top="5" />
  780. <Rectangle x:Name="Rectangle" Fill="White" RadiusX="2" RadiusY="2"/>
  781. </Canvas>
  782. </Grid>
  783. </Viewbox>
  784. <ControlTemplate.Triggers>
  785. <Trigger Property="IsCanEdit" Value="True">
  786. <Setter Property="Cursor" Value="Hand" />
  787. </Trigger>
  788. <Trigger Property="Status" Value="false">
  789. <Setter TargetName="InnerEllipse" Property="Fill" Value="Silver"/>
  790. </Trigger>
  791. <Trigger Property="Status" Value="true">
  792. <Setter TargetName="InnerEllipse" Property="Fill" Value="Green"/>
  793. </Trigger>
  794. <MultiTrigger>
  795. <MultiTrigger.Conditions>
  796. <Condition Property="ValveOrientation" Value="Horizontal"/>
  797. <Condition Property="Status" Value="false"/>
  798. </MultiTrigger.Conditions>
  799. <Setter TargetName="Rectangle" Property="Width" Value="6"/>
  800. <Setter TargetName="Rectangle" Property="Height" Value="30"/>
  801. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="17"/>
  802. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="5"/>
  803. </MultiTrigger>
  804. <MultiTrigger>
  805. <MultiTrigger.Conditions>
  806. <Condition Property="ValveOrientation" Value="Horizontal"/>
  807. <Condition Property="Status" Value="true"/>
  808. </MultiTrigger.Conditions>
  809. <Setter TargetName="Rectangle" Property="Width" Value="30"/>
  810. <Setter TargetName="Rectangle" Property="Height" Value="6"/>
  811. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="5"/>
  812. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="17"/>
  813. </MultiTrigger>
  814. <MultiTrigger>
  815. <MultiTrigger.Conditions>
  816. <Condition Property="ValveOrientation" Value="Vertical"/>
  817. <Condition Property="Status" Value="false"/>
  818. </MultiTrigger.Conditions>
  819. <Setter TargetName="Rectangle" Property="Width" Value="30"/>
  820. <Setter TargetName="Rectangle" Property="Height" Value="6"/>
  821. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="5"/>
  822. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="17"/>
  823. </MultiTrigger>
  824. <MultiTrigger>
  825. <MultiTrigger.Conditions>
  826. <Condition Property="ValveOrientation" Value="Vertical"/>
  827. <Condition Property="Status" Value="true"/>
  828. </MultiTrigger.Conditions>
  829. <Setter TargetName="Rectangle" Property="Width" Value="6"/>
  830. <Setter TargetName="Rectangle" Property="Height" Value="30"/>
  831. <Setter TargetName="Rectangle" Property="Canvas.Left" Value="17"/>
  832. <Setter TargetName="Rectangle" Property="Canvas.Top" Value="5"/>
  833. </MultiTrigger>
  834. </ControlTemplate.Triggers>
  835. </ControlTemplate>
  836. </Setter.Value>
  837. </Setter>
  838. </Style>
  839. <Style x:Key="textBlockStyle" TargetType="TextBlock">
  840. <!--字体渐变-->
  841. <Setter Property="Foreground">
  842. <Setter.Value>
  843. <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,0.5">
  844. <GradientStop Color="#FFFFE787" Offset="0.0" />
  845. <GradientStop Color="#FFFFE787" Offset="0.25" />
  846. <GradientStop Color="White" Offset="0.5" />
  847. </LinearGradientBrush>
  848. </Setter.Value>
  849. </Setter>
  850. <!--字体阴影-->
  851. <Setter Property="Effect">
  852. <Setter.Value>
  853. <DropShadowEffect Color="Black" Direction="120" ShadowDepth="1" Opacity="0.7" />
  854. </Setter.Value>
  855. </Setter>
  856. <Setter Property="FontFamily" Value="Microsoft YaHei"/>
  857. <Setter Property="FontWeight" Value="Bold"/>
  858. </Style>
  859. <Style x:Key="TopLable_LeftTop" TargetType="{x:Type Label}">
  860. <Setter Property="FontFamily" Value="Arial"/>
  861. <Setter Property="FontSize" Value="16"/>
  862. <Setter Property="Foreground" Value="{DynamicResource FG_White}"/>
  863. <Setter Property="BorderBrush" Value="{DynamicResource TopFrame_TableBD_Highlight}"/>
  864. <Setter Property="BorderThickness" Value="1"/>
  865. <Setter Property="Background" Value="{DynamicResource TopFrame_TableBG}"/>
  866. <!--<Setter Property="Margin" Value="1,1,0,1"/>-->
  867. <Setter Property="Padding" Value="5,2"/>
  868. <Setter Property="Border.CornerRadius" Value="6,0,0,6"/>
  869. <Setter Property="SnapsToDevicePixels" Value="True"/>
  870. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  871. <Setter Property="VerticalAlignment" Value="Stretch"/>
  872. <Setter Property="Template">
  873. <Setter.Value>
  874. <ControlTemplate TargetType="Label">
  875. <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="{TemplateBinding Border.CornerRadius}" Margin="{TemplateBinding Margin}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
  876. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
  877. </Border>
  878. </ControlTemplate>
  879. </Setter.Value>
  880. </Setter>
  881. </Style>
  882. <Style x:Key="TextBox_Top" TargetType="{x:Type TextBox}">
  883. <Setter Property="SnapsToDevicePixels" Value="True"/>
  884. <Setter Property="FontFamily" Value="Arial" />
  885. <Setter Property="FontSize" Value="24" />
  886. <!--<Setter Property="Margin" Value="0,2,2,2"/>-->
  887. <Setter Property="BorderThickness" Value="0,1,1,1"/>
  888. <Setter Property="Background" Value="{DynamicResource TextBox_Top_BG}" />
  889. <Setter Property="Foreground" Value="{DynamicResource Foreground_Black}" />
  890. <Setter Property="BorderBrush" Value="{DynamicResource TextBox_Top_Highlight_Right}"/>
  891. <Setter Property="Border.CornerRadius" Value="0,6,6,0"/>
  892. <Setter Property="HorizontalAlignment" Value="Stretch"/>
  893. <Setter Property="VerticalAlignment" Value="Stretch"/>
  894. <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
  895. <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
  896. <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
  897. <Setter Property="Template">
  898. <Setter.Value>
  899. <ControlTemplate TargetType="{x:Type TextBox}">
  900. <Grid>
  901. <Border x:Name="TextBox_Bg" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" CornerRadius="{TemplateBinding Border.CornerRadius}"
  902. BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
  903. <ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Margin="5,1" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
  904. </Border>
  905. </Grid>
  906. <ControlTemplate.Triggers>
  907. <Trigger Property="IsEnabled" Value="false">
  908. <Setter Property="Background" TargetName="TextBox_Bg" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
  909. <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
  910. </Trigger>
  911. </ControlTemplate.Triggers>
  912. </ControlTemplate>
  913. </Setter.Value>
  914. </Setter>
  915. </Style>
  916. <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>
  917. <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>
  918. <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>
  919. <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>
  920. <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>
  921. <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>
  922. <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>
  923. <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>
  924. <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>
  925. <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>
  926. <Geometry x:Key="Icon_Next">M530.850448 573.163313c32.005172-31.883636 32.111192-87.434343-0.069818-119.489939C399.437114 322.845737 268.507336 191.603071 137.436629 60.506505c-12.621576-12.625455-27.585939-20.686869-45.26804-23.540364-3.529697-0.570182-7.085253-0.999434-10.630465-1.499798-1.025293 0-2.055758 0-3.081051 0-4.035232 0.575354-8.111838 0.943838-12.091475 1.757091-33.298101 6.818909-54.838303 26.616242-63.959919 59.278222-3.201293 11.479919-2.806949 24.85398-1.135192 35.701657 1.751919 11.344162 7.11499 21.818182 14.479515 30.904889 3.444364 4.252444 7.050343 8.418263 10.918788 12.291879 111.045818 111.127273 222.142061 222.222222 333.247354 333.293899 1.444202 1.444202 3.227152 2.554828 5.187232 4.080485-2.121697 2.222545-3.475394 3.696485-4.879515 5.100606C252.653437 625.450667 145.164468 733.112889 37.416912 840.506182c-15.829333 15.773737-33.541172 31.162182-36.146424 54.273293-1.233455 10.908444-1.859232 22.111677 0 32.929616 0.919273 5.363071 3.262061 10.423596 5.494949 15.358707 23.655434 52.318384 89.514667 64.241778 130.66602 23.186101C268.668953 835.315071 399.501761 703.987071 530.850448 573.163313L530.850448 573.163313zM78.451902 35.466343l-12.091475 1.757091C70.345235 36.410182 74.421841 36.041697 78.451902 35.466343L78.451902 35.466343zM551.467498 36.441212c-38.000485 2.858667-70.434909 37.034667-71.651556 75.106263-0.79903 24.979394 8.131232 45.650747 25.691798 63.197091 111.383273 111.252687 222.661818 222.615273 334.015354 333.893818 1.534707 1.534707 3.686141 2.448808 6.595232 4.327434-3.35903 2.667313-5.116121 3.803798-6.565495 5.253172-68.050747 68.000323-136.075636 136.035556-204.100525 204.065616C591.916791 765.814949 548.391619 809.360808 504.845761 852.880808c-19.449535 19.439192-28.328081 42.706747-24.045899 70.054788 4.829091 30.919111 22.440081 52.516202 51.712 63.010909 29.450343 10.550303 56.692364 4.803232 80.49002-15.848727 1.944566-1.682101 3.798626-3.470222 5.616485-5.288081 130.121697-130.111354 259.955071-260.509737 390.546101-390.141414 33.272242-33.035636 33.454545-88.934141 1.206303-121.050505C879.016912 322.804364 748.093599 191.557818 617.028064 60.456081c-12.626747-12.626747-27.611798-20.655838-45.288727-23.505455-3.534869-0.570182-7.090424-0.994263-10.635636-1.484283-1.030465 0-2.055758 0-3.086222 0.005172C555.835013 35.799919 553.659013 36.274424 551.467498 36.441212L551.467498 36.441212zM551.467498 36.441212</Geometry>
  927. <Geometry x:Key="Icon_Home">M1017.3952 622.848l-452.0448-499.6096A71.2704 71.2704 0 0 0 512 99.1744c-20.3264 0-39.2704 8.5504-53.3504 24.064L6.6048 622.848a25.6 25.6 0 0 0 37.9392 34.304l109.0048-120.4736V947.2c0 42.3424 34.4576 76.8 76.8 76.8h563.2c42.3424 0 76.8-34.4576 76.8-76.8v-410.5216l109.0048 120.4736a25.5488 25.5488 0 1 0 37.9392-34.3552zM614.4 972.8H409.6v-230.4a25.6 25.6 0 0 1 25.6-25.6h153.6a25.6 25.6 0 0 1 25.6 25.6V972.8z m204.8-25.6a25.6 25.6 0 0 1-25.6 25.6H665.6v-230.4c0-42.3424-34.4576-76.8-76.8-76.8h-153.6c-42.3424 0-76.8 34.4576-76.8 76.8V972.8H230.4a25.6 25.6 0 0 1-25.6-25.6V480.1024l291.84-322.56c4.1984-4.6592 9.6768-7.2192 15.36-7.2192s11.1616 2.56 15.36 7.2192l291.84 322.56V947.2z</Geometry>
  928. <Geometry x:Key="Icon_Abort">M287.163054 625.773455c-14.136452 0-25.594676-11.459248-25.594676-25.594676l0-358.751364c0-30.787324 15.917841-58.35791 42.581351-73.751572 26.662486-15.393662 58.499192-15.394686 85.161678 0l173.710044 100.291203c12.241422 7.067202 16.435877 22.720906 9.367652 34.962328-7.066178 12.240398-22.717835 16.436901-34.962328 9.367652l-173.710044-100.291203c-15.332235-8.851663-28.864652-2.948507-33.972326 0-5.107674 2.94953-16.986675 11.718267-16.986675 29.420569l0 358.751364C312.75773 614.314207 301.298482 625.773455 287.163054 625.773455z M346.73108 867.869403c-14.624798 0-29.249596-3.848416-42.581351-11.545247-26.66351-15.393662-42.581351-42.964247-42.581351-73.751572 0-14.135428 11.459248-25.594676 25.594676-25.594676s25.594676 11.459248 25.594676 25.594676c0 17.702302 11.879001 26.471038 16.986675 29.420569s18.642138 8.851663 33.972326 0l468.644666-270.571561c15.331211-8.851663 16.986675-23.523555 16.986675-29.420569 0-5.897013-1.65444-20.569929-16.986675-29.421592l-153.418585-88.577032c-12.241422-7.067202-16.436901-22.720906-9.367652-34.962328 7.067202-12.241422 22.720906-16.436901 34.962328-9.367652l153.418585 88.577032c26.66351 15.394686 42.581351 42.966295 42.581351 73.753619 0 30.7863-15.918865 58.35791-42.581351 73.750548l-468.644666 270.571561C375.979652 864.020988 361.354854 867.869403 346.73108 867.869403z M165.708125 814.893542c-3.930318 0-7.860637-1.499848-10.858285-4.49852-5.997345-5.996321-5.997345-15.72025 0-21.717595l599.814311-599.814311c5.996321-5.996321 15.72025-5.996321 21.717595 0 5.997345 5.996321 5.997345 15.72025 0 21.717595l-599.814311 599.814311C173.568762 813.393694 169.638443 814.893542 165.708125 814.893542z</Geometry>
  929. <Geometry x:Key="Icon_Save">M661.333333 320h-170.666666c-12.8 0-21.333333-8.533333-21.333334-21.333333s8.533333-21.333333 21.333334-21.333334h170.666666c12.8 0 21.333333 8.533333 21.333334 21.333334s-8.533333 21.333333-21.333334 21.333333z M874.666667 917.333333H149.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333V128c0-12.8 8.533333-21.333333 21.333333-21.333333h533.333334c6.4 0 10.666667 2.133333 14.933333 6.4l192 192c4.266667 4.266667 6.4 8.533333 6.4 14.933333v576c0 12.8-8.533333 21.333333-21.333333 21.333333zM170.666667 874.666667h682.666666V328.533333L674.133333 149.333333H170.666667v725.333334z M746.666667 917.333333H277.333333c-12.8 0-21.333333-8.533333-21.333333-21.333333V554.666667c0-12.8 8.533333-21.333333 21.333333-21.333334h469.333334c12.8 0 21.333333 8.533333 21.333333 21.333334v341.333333c0 12.8-8.533333 21.333333-21.333333 21.333333z m-448-42.666666h426.666666V576H298.666667v298.666667z</Geometry>
  930. <Geometry x:Key="Icon_Add">M874.666667 469.333333H554.666667V149.333333c0-23.466667-19.2-42.666667-42.666667-42.666666s-42.666667 19.2-42.666667 42.666666v320H149.333333c-23.466667 0-42.666667 19.2-42.666666 42.666667s19.2 42.666667 42.666666 42.666667h320v320c0 23.466667 19.2 42.666667 42.666667 42.666666s42.666667-19.2 42.666667-42.666666V554.666667h320c23.466667 0 42.666667-19.2 42.666666-42.666667s-19.2-42.666667-42.666666-42.666667z</Geometry>
  931. <Geometry x:Key="Icon_Delete">M341.34016 128l554.65984 0q53.00224 0 90.50112 37.49888t37.49888 90.50112l0 512q0 53.00224-37.49888 90.50112t-90.50112 37.49888l-554.65984 0-341.34016-384zM896 213.34016l-516.34176 0-265.33888 298.65984 265.33888 298.65984 516.34176 0q17.67424 0 30.16704-12.4928t12.4928-30.16704l0-512q0-17.67424-12.4928-30.16704t-30.16704-12.4928zM810.65984 384q0 18.00192-12.32896 30.33088l-97.9968 97.66912 97.9968 97.66912q12.32896 12.32896 12.32896 30.33088 0 18.3296-12.16512 30.49472t-30.49472 12.16512q-18.00192 0-30.33088-12.32896l-97.66912-97.9968-97.66912 97.9968q-12.32896 12.32896-30.33088 12.32896-17.67424 0-30.16704-12.4928t-12.4928-30.16704q0-17.32608 12.32896-30.33088l97.9968-97.66912-97.9968-97.66912q-12.32896-13.0048-12.32896-30.33088 0-17.67424 12.4928-30.16704t30.16704-12.4928q18.00192 0 30.33088 12.32896l97.66912 97.9968 97.66912-97.9968q12.32896-12.32896 30.33088-12.32896 18.3296 0 30.49472 12.16512t12.16512 30.49472z</Geometry>
  932. <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
  933. <Grid Height="25">
  934. <Border Grid.Column="1" Background="White" Opacity="0" Cursor="Hand"/>
  935. <Path x:Name="Arrow" Grid.Column="1" Data="M 0 0 6 6 12 0 Z" VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="None" Fill="#B1B1B1" />
  936. </Grid>
  937. <ControlTemplate.Triggers>
  938. <Trigger Property="IsChecked" Value="true">
  939. <Setter TargetName="Arrow" Property="RenderTransform">
  940. <Setter.Value>
  941. <RotateTransform CenterX="6" CenterY="3" Angle="180"></RotateTransform>
  942. </Setter.Value>
  943. </Setter>
  944. <Setter TargetName="Arrow" Property="Margin" Value="0 0 0 2"/>
  945. </Trigger>
  946. </ControlTemplate.Triggers>
  947. </ControlTemplate>
  948. <!--MultiComboBox普通样式-->
  949. <Style TargetType="{x:Type customControls:MultiComboBox}">
  950. <Setter Property="Width" Value="200" />
  951. <Setter Property="HorizontalContentAlignment" Value="Stretch" />
  952. <Setter Property="VerticalContentAlignment" Value="Center" />
  953. <Setter Property="SnapsToDevicePixels" Value="True" />
  954. <Setter Property="MaxDropDownHeight" Value="400" />
  955. <Setter Property="Template">
  956. <Setter.Value>
  957. <ControlTemplate TargetType="{x:Type customControls:MultiComboBox}">
  958. <Grid>
  959. <Border x:Name="Bg" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" BorderBrush="#eaeaea" BorderThickness="1" >
  960. <Grid x:Name="PART_Root">
  961. <Grid x:Name="PART_InnerGrid" Margin="0">
  962. <Grid.ColumnDefinitions>
  963. <ColumnDefinition Width="*" />
  964. <ColumnDefinition Width="0.3*" MaxWidth="30" />
  965. </Grid.ColumnDefinitions>
  966. <ListBox x:Name="PART_ListBoxChk" SelectionMode="Multiple" BorderThickness="0" ScrollViewer.VerticalScrollBarVisibility="Disabled">
  967. <ListBox.ItemsPanel>
  968. <ItemsPanelTemplate>
  969. <VirtualizingStackPanel Orientation="Horizontal" VirtualizingStackPanel.IsVirtualizing="True" />
  970. </ItemsPanelTemplate>
  971. </ListBox.ItemsPanel>
  972. <ListBox.ItemContainerStyle>
  973. <Style TargetType="ListBoxItem">
  974. <Setter Property="BorderThickness" Value="0"/>
  975. <Setter Property="IsSelected" Value="True"/>
  976. <Setter Property="Template">
  977. <Setter.Value>
  978. <ControlTemplate TargetType="ListBoxItem">
  979. <CheckBox BorderThickness="0" VerticalAlignment="Center" HorizontalAlignment="Center" Content="{Binding ViewName}" IsChecked="{Binding Path=IsSelected,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
  980. </ControlTemplate>
  981. </Setter.Value>
  982. </Setter>
  983. </Style>
  984. </ListBox.ItemContainerStyle>
  985. </ListBox>
  986. <!--下拉按钮-->
  987. <ToggleButton x:Name="PART_DropDownToggle" IsTabStop="False"
  988. IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
  989. Grid.Column="1" Template="{StaticResource ComboBoxToggleButton}" />
  990. </Grid>
  991. </Grid>
  992. </Border>
  993. <!--弹出多选列表-->
  994. <Popup x:Name="PART_Popup" AllowsTransparency="True" Focusable="False" StaysOpen="False"
  995. IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}"
  996. PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
  997. <Grid Width="{Binding ActualWidth, RelativeSource={RelativeSource TemplatedParent}}" MaxHeight="{Binding MaxDropDownHeight, RelativeSource={RelativeSource TemplatedParent}}" >
  998. <ListBox x:Name="PART_ListBox" SelectionMode="Multiple" BorderThickness="1 0 1 1" Background="White" ItemsSource="{Binding ItemsSource,RelativeSource={RelativeSource TemplatedParent}}"
  999. MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="#eaeaea" >
  1000. <ListBox.ItemContainerStyle>
  1001. <Style TargetType="ListBoxItem">
  1002. <Setter Property="Template">
  1003. <Setter.Value>
  1004. <ControlTemplate TargetType="{x:Type ListBoxItem}" >
  1005. <Grid Height="22">
  1006. <Border Background="White" Opacity="1"/>
  1007. <Border x:Name="bg" BorderBrush="#eaeaea" BorderThickness="0"/>
  1008. <ContentPresenter x:Name="content" />
  1009. </Grid>
  1010. <ControlTemplate.Triggers>
  1011. <Trigger Property="IsSelected" Value="True">
  1012. <Setter TargetName="bg" Property="Background" Value="#ADD6FF" />
  1013. </Trigger>
  1014. <MultiTrigger>
  1015. <MultiTrigger.Conditions>
  1016. <Condition Property="IsMouseOver" Value="true" />
  1017. <Condition Property="IsSelected" Value="false"/>
  1018. </MultiTrigger.Conditions>
  1019. <Setter TargetName="bg" Property="Background" Value="#009BDB" />
  1020. <Setter TargetName="bg" Property="Opacity" Value="0.7"/>
  1021. <Setter Property="Foreground" Value="White" />
  1022. </MultiTrigger>
  1023. <Trigger Property="IsEnabled" Value="False">
  1024. <Setter TargetName="bg" Property="Opacity" Value="0.3" />
  1025. <Setter Property="Foreground" Value="Gray" />
  1026. </Trigger>
  1027. </ControlTemplate.Triggers>
  1028. </ControlTemplate>
  1029. </Setter.Value>
  1030. </Setter>
  1031. </Style>
  1032. </ListBox.ItemContainerStyle>
  1033. <ListBox.ItemTemplate>
  1034. <DataTemplate>
  1035. <Grid>
  1036. <CheckBox x:Name="chk" Visibility="Hidden" IsChecked="{Binding IsCheck,Mode=TwoWay}" VerticalAlignment="Center"/>
  1037. <CheckBox VerticalAlignment="Center" Foreground="{Binding Foreground,RelativeSource={RelativeSource AncestorType=ListBoxItem}}" IsChecked="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected,Mode=TwoWay}" Content="{Binding Path=ViewName}" />
  1038. </Grid>
  1039. <DataTemplate.Triggers>
  1040. <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="true">
  1041. <Setter TargetName="chk" Property="IsChecked" Value="true"/>
  1042. </DataTrigger>
  1043. <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="false">
  1044. <Setter TargetName="chk" Property="IsChecked" Value="false"/>
  1045. </DataTrigger>
  1046. </DataTemplate.Triggers>
  1047. </DataTemplate>
  1048. </ListBox.ItemTemplate>
  1049. </ListBox>
  1050. </Grid>
  1051. </Popup>
  1052. </Grid>
  1053. </ControlTemplate>
  1054. </Setter.Value>
  1055. </Setter>
  1056. </Style>
  1057. <Style TargetType="{x:Type customControls:PathButton}">
  1058. <Setter Property="Background" Value="#009ad6" />
  1059. <Setter Property="BorderBrush" Value="Silver" />
  1060. <Setter Property="Foreground" Value="White" />
  1061. <Setter Property="Cursor" Value="Hand"/>
  1062. <Setter Property="BorderThickness" Value="1" />
  1063. <Setter Property="MouseOverBrush" Value="#1b315e"/>
  1064. <Setter Property="IsPressedBrush" Value="#009ad6"/>
  1065. <!--<Setter Property="Focusable" Value="False"/>-->
  1066. <Setter Property="Template">
  1067. <Setter.Value>
  1068. <ControlTemplate TargetType="{x:Type customControls:PathButton}">
  1069. <Border x:Name="border"
  1070. CornerRadius="4"
  1071. Background ="{TemplateBinding Background}"
  1072. BorderBrush="{TemplateBinding BorderBrush}"
  1073. BorderThickness="{TemplateBinding BorderThickness}"
  1074. SnapsToDevicePixels="true"
  1075. IsEnabled="{TemplateBinding IsEnabled}">
  1076. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
  1077. <Path x:Name="Path"
  1078. Data="{TemplateBinding PathData}"
  1079. Fill="{TemplateBinding DefaultFillBrush}"
  1080. RenderTransformOrigin="0.5,0.5"
  1081. Stretch="Uniform"
  1082. Margin="5"/>
  1083. <TextBlock HorizontalAlignment="Right"
  1084. x:Name="tb"
  1085. Text="{TemplateBinding Content}"
  1086. VerticalAlignment="Center"
  1087. FontSize="18" Margin="0,0,5,0"
  1088. Foreground="{TemplateBinding Foreground}"/>
  1089. </StackPanel>
  1090. </Border>
  1091. <ControlTemplate.Triggers>
  1092. <Trigger Property="IsDefaulted" Value="True">
  1093. <Setter TargetName="Path" Property="Fill" Value="White" />
  1094. </Trigger>
  1095. <Trigger Property="IsMouseOver" Value="True">
  1096. <!--<Setter TargetName="border" Property="Opacity" Value="0.7" />-->
  1097. <Setter TargetName="border" Property="Background" Value="{StaticResource Color_BG_WindowButton_Highlight}"/>
  1098. </Trigger>
  1099. <Trigger Property="IsPressed" Value="True">
  1100. <Setter TargetName="Path" Property="Fill" Value="Black" />
  1101. <Setter TargetName="tb" Property="Foreground" Value="Black" />
  1102. </Trigger>
  1103. <Trigger Property="IsEnabled" Value="False">
  1104. <Setter TargetName="border" Property="Background" Value="#D2D2D2" />
  1105. <Setter TargetName="border" Property="BorderThickness" Value="0" />
  1106. </Trigger>
  1107. </ControlTemplate.Triggers>
  1108. </ControlTemplate>
  1109. </Setter.Value>
  1110. </Setter>
  1111. </Style>
  1112. <Style TargetType="{x:Type customControls:StepBarItem}">
  1113. <Setter Property="FontWeight" Value="Bold" />
  1114. <Setter Property="FontSize" Value="14" />
  1115. <Setter Property="FontFamily" Value="宋体" />
  1116. <Setter Property="Template">
  1117. <Setter.Value>
  1118. <ControlTemplate TargetType="{x:Type customControls:StepBarItem}">
  1119. <Grid>
  1120. <Grid.ColumnDefinitions>
  1121. <ColumnDefinition Width="auto" />
  1122. <ColumnDefinition Width="*" />
  1123. </Grid.ColumnDefinitions>
  1124. <StackPanel Orientation="Horizontal">
  1125. <Grid Margin="0,0,10,0">
  1126. <Border x:Name="Bd" BorderBrush="#CCCCCC" Width="25" Height="25" CornerRadius="100"
  1127. BorderThickness="1" SnapsToDevicePixels="True" UseLayoutRounding="True">
  1128. </Border>
  1129. <TextBlock x:Name="Number" Text="{TemplateBinding Number}"
  1130. HorizontalAlignment="Center" VerticalAlignment="Center" />
  1131. <Path x:Name="path" Data="{StaticResource Icon_Gou}" Stretch="Uniform" Width="12" Fill="#3399FF" Visibility="Collapsed" />
  1132. </Grid>
  1133. <ContentPresenter VerticalAlignment="Center" />
  1134. </StackPanel>
  1135. <Border x:Name="Line" Grid.Column="1" BorderBrush="#E3E8EE" BorderThickness="0,1,0,0"
  1136. VerticalAlignment="Center" Margin="10,0"
  1137. SnapsToDevicePixels="True" UseLayoutRounding="True" />
  1138. </Grid>
  1139. <ControlTemplate.Triggers>
  1140. <DataTrigger Value="True">
  1141. <DataTrigger.Binding>
  1142. <MultiBinding Converter="{StaticResource IsLastItemConverter}">
  1143. <Binding RelativeSource="{RelativeSource Self}" />
  1144. <Binding RelativeSource="{RelativeSource AncestorType={x:Type customControls:StepBar}}" Path="Items.Count"/>
  1145. </MultiBinding>
  1146. </DataTrigger.Binding>
  1147. <Setter TargetName="Line" Property="Visibility" Value="Collapsed" />
  1148. </DataTrigger>
  1149. <DataTrigger Value="False">
  1150. <DataTrigger.Binding>
  1151. <MultiBinding Converter="{StaticResource IsLastItemConverter}">
  1152. <Binding RelativeSource="{RelativeSource Self}" />
  1153. <Binding RelativeSource="{RelativeSource AncestorType={x:Type customControls:StepBar}}" Path="Items.Count"/>
  1154. </MultiBinding>
  1155. </DataTrigger.Binding>
  1156. <Setter TargetName="Line" Property="Visibility" Value="Visible" />
  1157. </DataTrigger>
  1158. <DataTrigger Value="Less">
  1159. <DataTrigger.Binding>
  1160. <MultiBinding Converter="{StaticResource IsProgressedConverter}">
  1161. <Binding RelativeSource="{RelativeSource Self}" />
  1162. <Binding RelativeSource="{RelativeSource AncestorType={x:Type customControls:StepBar}}" Path="Progress"/>
  1163. </MultiBinding>
  1164. </DataTrigger.Binding>
  1165. <Setter TargetName="Bd" Property="Background" Value="#003399FF" />
  1166. <Setter TargetName="Bd" Property="BorderBrush" Value="#3399FF" />
  1167. <Setter TargetName="Number" Property="Visibility" Value="Collapsed" />
  1168. <Setter TargetName="Line" Property="BorderBrush" Value="#3399FF" />
  1169. <Setter TargetName="path" Property="Visibility" Value="Visible" />
  1170. <Setter Property="Foreground" Value="#999999" />
  1171. </DataTrigger>
  1172. <DataTrigger Value="Equal">
  1173. <DataTrigger.Binding>
  1174. <MultiBinding Converter="{StaticResource IsProgressedConverter}">
  1175. <Binding RelativeSource="{RelativeSource Self}" />
  1176. <Binding RelativeSource="{RelativeSource AncestorType={x:Type customControls:StepBar}}" Path="Progress"/>
  1177. </MultiBinding>
  1178. </DataTrigger.Binding>
  1179. <Setter TargetName="Bd" Property="Background" Value="#3399FF" />
  1180. <Setter TargetName="Bd" Property="BorderBrush" Value="#3399FF" />
  1181. <Setter TargetName="Number" Property="Visibility" Value="Visible" />
  1182. <Setter TargetName="Number" Property="Foreground" Value="#FFFFFF" />
  1183. <Setter TargetName="path" Property="Visibility" Value="Collapsed" />
  1184. <Setter Property="Foreground" Value="#666666" />
  1185. </DataTrigger>
  1186. <DataTrigger Value="Large">
  1187. <DataTrigger.Binding>
  1188. <MultiBinding Converter="{StaticResource IsProgressedConverter}">
  1189. <Binding RelativeSource="{RelativeSource Self}" />
  1190. <Binding RelativeSource="{RelativeSource AncestorType={x:Type customControls:StepBar}}" Path="Progress"/>
  1191. </MultiBinding>
  1192. </DataTrigger.Binding>
  1193. <Setter Property="Foreground" Value="#999999" />
  1194. </DataTrigger>
  1195. </ControlTemplate.Triggers>
  1196. </ControlTemplate>
  1197. </Setter.Value>
  1198. </Setter>
  1199. </Style>
  1200. <Style TargetType="{x:Type customControls:StepBar}">
  1201. <Setter Property="Template">
  1202. <Setter.Value>
  1203. <ControlTemplate TargetType="{x:Type customControls:StepBar}">
  1204. <Border>
  1205. <ItemsPresenter />
  1206. </Border>
  1207. </ControlTemplate>
  1208. </Setter.Value>
  1209. </Setter>
  1210. <Setter Property="ItemsPanel">
  1211. <Setter.Value>
  1212. <ItemsPanelTemplate>
  1213. <UniformGrid IsItemsHost="True" Rows="1" />
  1214. </ItemsPanelTemplate>
  1215. </Setter.Value>
  1216. </Setter>
  1217. </Style>
  1218. </ResourceDictionary>