Generic.xaml 117 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326
  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">M839.094857 253.586286l77.238857 77.970285-484.205714 480.036572-254.098286-291.84 82.797715-72.045714 177.152 203.556571z</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. <!--MenuItem-->
  1219. <Style TargetType="MenuItem">
  1220. <Setter Property="Template">
  1221. <Setter.Value>
  1222. <ControlTemplate TargetType="MenuItem">
  1223. <Grid Height="24" Background="#FBFBFD" Width="{TemplateBinding Width}">
  1224. <Grid.ColumnDefinitions>
  1225. <ColumnDefinition Width="30" />
  1226. <ColumnDefinition Width="*" MinWidth="80"/>
  1227. </Grid.ColumnDefinitions>
  1228. <Border Background="#EBEBED"/>
  1229. <Border x:Name="_border" Grid.ColumnSpan="2"/>
  1230. <Path x:Name="path" Width="12" Height="12" Stretch="Fill" Data="{StaticResource Icon_Gou}" Fill="Transparent"/>
  1231. <TextBlock Foreground="#2D2D30" Grid.Column="1" Margin="5 0 15 0" VerticalAlignment="Center" x:Name="_txt" Text="{Binding
  1232. Header,RelativeSource={RelativeSource TemplatedParent}}" />
  1233. <!--<Path Visibility="Collapsed" x:Name="_path" Grid.Column="1" HorizontalAlignment="Right" Margin="5 13 5 0" Data="M0,4 4,0 0,-4 z" Fill="#7E8A92"/>-->
  1234. <!--<Popup Placement="Right" x:Name="SubMenuPopup" AllowsTransparency="True" Focusable="False" IsOpen="{TemplateBinding IsSubmenuOpen}" >
  1235. <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
  1236. <Border Background="#ffc787" Name="SubmenuBorder" BorderBrush="LightGray" BorderThickness="1" SnapsToDevicePixels="True" >
  1237. <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
  1238. </Border>
  1239. </ScrollViewer>
  1240. </Popup>-->
  1241. </Grid>
  1242. <ControlTemplate.Triggers>
  1243. <!--<Trigger Property="HasItems" Value="true">
  1244. --><!--<Setter TargetName="_path" Property="Visibility" Value="Visible"/>--><!--
  1245. </Trigger>-->
  1246. <Trigger Property="IsMouseOver" Value="true">
  1247. <Setter TargetName="_border" Property="Background" Value="#ffc787"/>
  1248. <Setter TargetName="_txt" Property="Foreground" Value="White"/>
  1249. <!--<Setter TargetName="_path" Property="Fill" Value="White"/>-->
  1250. </Trigger>
  1251. <Trigger Property="IsEnabled" Value="false">
  1252. <Setter TargetName="_txt" Property="Foreground" Value="Gray"/>
  1253. <Setter TargetName="path" Property="Fill" Value="Green"/>
  1254. </Trigger>
  1255. </ControlTemplate.Triggers>
  1256. </ControlTemplate>
  1257. </Setter.Value>
  1258. </Setter>
  1259. </Style>
  1260. </ResourceDictionary>