ShowVisionRender.xaml.cs 128 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773
  1. using Cognex.VisionPro;
  2. using Cognex.VisionPro.ImageFile;
  3. using log4net.Core;
  4. using MahApps.Metro.Controls;
  5. using Prism.Events;
  6. using Prism.Ioc;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Drawing;
  10. using System.IO;
  11. using System.Threading.Tasks;
  12. using System.Windows;
  13. using System.Windows.Controls;
  14. using System.Windows.Forms.Integration;
  15. using System.Windows.Interop;
  16. using TeamAAS_VP;
  17. using TeamAAS_VP.Core;
  18. using TeamAAS_VP.Enums;
  19. using TeamAAS_VP.Events;
  20. using TeamAAS_VP.Interfaces;
  21. using TeamAAS_VP.Models;
  22. using TeamAAS_VP.Resources.Languages;
  23. using TeamAAS_VP.ViewModels;
  24. using TeamAAS_VP.ViewModels.Home;
  25. using static MaterialDesignThemes.Wpf.Theme.ToolBar;
  26. namespace TeamAAS_VP.Views.Home
  27. {
  28. /// <summary>
  29. /// Interaction logic for ShowVisionRender
  30. /// </summary>
  31. public partial class ShowVisionRender : UserControl
  32. {
  33. ShowVisionRenderViewModel viewModel;
  34. Dictionary<Guid, WindowsFormsHost> vmRenders;
  35. Dictionary<Guid, TextBlock> Titles;
  36. IEventAggregator _eventAggregator;
  37. private readonly IProductService _productService;
  38. public ShowVisionRender()
  39. {
  40. InitializeComponent();
  41. vmRenders = new Dictionary<Guid, WindowsFormsHost>();
  42. Titles = new Dictionary<Guid, TextBlock>();
  43. viewModel = DataContext as ShowVisionRenderViewModel;
  44. _eventAggregator = viewModel._eventAggregator;
  45. _productService = ((Prism.PrismApplicationBase)App.Current).Container.Resolve<IProductService>();
  46. viewModel.UpdateLayout += ViewModel_UpdateLayout;
  47. _eventAggregator.GetEvent<RenderUpdateNotification>().Subscribe(UpdateRenderModuleSource);
  48. _eventAggregator.GetEvent<ProductChangedNotification>().Subscribe(ProductChanged);
  49. }
  50. private void UpdateRenderModuleSource(ShowRender render)
  51. {
  52. //foreach (var item in vmRenders)
  53. //{
  54. // if (item.Key== render.Id)
  55. // {
  56. // App.Current.Dispatcher.Invoke(new Action(() =>
  57. // {
  58. // item.Value.ModuleSource = render.ModuleSource;
  59. // }));
  60. // break;
  61. // }
  62. //}
  63. this.gridRender.Dispatcher.BeginInvoke(new Action(() =>
  64. {
  65. foreach (var item in vmRenders)
  66. {
  67. if (((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag!=null && ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag.ToString() == render.DisplayName)
  68. {
  69. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Record = null;
  70. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Image = render.Image;
  71. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.Clear();
  72. if (render.Graphic!=null)
  73. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.AddList(render.Graphic, "");
  74. if (render.Record != null)
  75. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Record = render.Record;
  76. if (render.IsSaveImage)
  77. {
  78. Bitmap bitmap = (Bitmap)((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom);
  79. SaveImage(
  80. render.SaveImageModel,
  81. render.SaveImagePathModel,
  82. render.SavePath,
  83. render.Image,
  84. bitmap,
  85. render.Result,
  86. render.IsCompress,
  87. render.ImageFileName,
  88. render.Is3DModel
  89. );
  90. }
  91. break;
  92. }
  93. }
  94. /*
  95. foreach (var item in gridRender.Children)
  96. {
  97. if (item is WindowsFormsHost && ((WindowsFormsHost)item).Child is Cognex.VisionPro.CogRecordDisplay)
  98. {
  99. if (((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Tag != null && ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Tag.ToString() == render.DisplayName)
  100. {
  101. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Image = render.Image;
  102. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).StaticGraphics.Clear();
  103. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).StaticGraphics.AddList(render.Graphic, "");
  104. if (render.Record != null)
  105. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Record = render.Record;
  106. if (render.IsSaveImage)
  107. {
  108. SaveImage(render.SaveImageModel, render.SaveImagePathModel, render.SavePath, render.Image, (Bitmap)((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom), render.Result, render.IsCompress);
  109. }
  110. break;
  111. }
  112. }
  113. else if (item is Grid)
  114. {
  115. foreach (var item1 in ((Grid)item).Children)
  116. {
  117. if (item1 is WindowsFormsHost && ((WindowsFormsHost)item1).Child is Cognex.VisionPro.CogRecordDisplay)
  118. {
  119. if (((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Tag != null && ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Tag.ToString() == render.DisplayName)
  120. {
  121. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).Image = render.Image;
  122. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).StaticGraphics.Clear();
  123. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item1).Child).StaticGraphics.AddList(render.Graphic, "");
  124. if (render.Record != null)
  125. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).Record = render.Record;
  126. if (render.IsSaveImage)
  127. {
  128. SaveImage(render.SaveImageModel, render.SaveImagePathModel, render.SavePath, render.Image, (Bitmap)((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)item).Child).CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom), render.Result, render.IsCompress);
  129. }
  130. break;
  131. }
  132. }
  133. }
  134. break;
  135. }
  136. }*/
  137. }));
  138. }
  139. Grid grid1 = new Grid();
  140. Grid grid2 = new Grid();
  141. Grid grid3 = new Grid();
  142. Grid grid4 = new Grid();
  143. Grid grid5 = new Grid();
  144. Grid grid6 = new Grid();
  145. Grid grid7 = new Grid();
  146. Grid grid8 = new Grid();
  147. Grid grid9 = new Grid();
  148. Grid grid10 = new Grid();
  149. Grid grid11 = new Grid();
  150. Grid grid12 = new Grid();
  151. Grid grid13 = new Grid();
  152. Grid grid14 = new Grid();
  153. Grid grid15 = new Grid();
  154. Grid grid16 = new Grid();
  155. Grid grid17 = new Grid();
  156. Grid grid18 = new Grid();
  157. Grid grid19 = new Grid();
  158. Grid grid20 = new Grid();
  159. private void ViewModel_UpdateLayout(System.Collections.ObjectModel.ObservableCollection<Models.ShowRender> obj)
  160. {
  161. System.Windows.Media.FontFamily font = Application.Current.Resources["DefaultFont"] as System.Windows.Media.FontFamily;
  162. if (vmRenders.Count > 0)
  163. {
  164. foreach (var render in vmRenders)
  165. {
  166. render.Value.Dispose();
  167. }
  168. }
  169. vmRenders.Clear();
  170. gridRender.Children.Clear();
  171. Titles.Clear();
  172. if (obj == null) { return; }
  173. if (obj.Count == 0) { return; }
  174. Grid grid = new Grid();
  175. gridRender.RowDefinitions.Clear();
  176. gridRender.ColumnDefinitions.Clear();
  177. System.Windows.Thickness margin = new System.Windows.Thickness(2);
  178. switch (obj.Count)
  179. {
  180. case 1:
  181. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  182. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12 , Foreground = System.Windows.Media.Brushes.Black });
  183. gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  184. gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  185. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  186. gridRender.ShowGridLines = false;
  187. gridRender.Children.Add(vmRenders[obj[0].Id]);
  188. gridRender.Children.Add(Titles[obj[0].Id]);
  189. Grid.SetRow(vmRenders[obj[0].Id], 1);
  190. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  191. Grid.SetRowSpan(vmRenders[obj[0].Id], 1);
  192. Grid.SetColumnSpan(vmRenders[obj[0].Id], 1);
  193. Grid.SetRow(Titles[obj[0].Id], 0);
  194. Grid.SetColumn(Titles[obj[0].Id], 0);
  195. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).HorizontalScrollBar = false;
  196. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).VerticalScrollBar = false;
  197. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).AutoFit = true;
  198. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[0].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  199. break;
  200. case 2:
  201. //增加显示界面
  202. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  203. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  204. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12,Foreground = System.Windows.Media.Brushes.Black });
  205. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  206. //布局
  207. gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  208. gridRender.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  209. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  210. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  211. gridRender.ShowGridLines = true;
  212. gridRender.Children.Add(vmRenders[obj[0].Id]);
  213. gridRender.Children.Add(vmRenders[obj[1].Id]);
  214. gridRender.Children.Add(Titles[obj[0].Id]);
  215. gridRender.Children.Add(Titles[obj[1].Id]);
  216. Grid.SetRow(vmRenders[obj[0].Id], 1);
  217. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  218. Grid.SetRow(vmRenders[obj[1].Id], 1);
  219. Grid.SetColumn(vmRenders[obj[1].Id], 1);
  220. Grid.SetRowSpan(vmRenders[obj[0].Id], 1);
  221. Grid.SetColumnSpan(vmRenders[obj[0].Id], 1);
  222. Grid.SetRow(Titles[obj[0].Id], 0);
  223. Grid.SetColumn(Titles[obj[0].Id], 0);
  224. Grid.SetRow(Titles[obj[1].Id], 0);
  225. Grid.SetColumn(Titles[obj[1].Id], 1);
  226. for (int i = 0; i < 2; i++)
  227. {
  228. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  229. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  230. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  231. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  232. }
  233. break;
  234. case 3:
  235. //增加显示界面
  236. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  237. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  238. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  239. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  240. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12,Foreground = System.Windows.Media.Brushes.Black });
  241. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  242. //布局
  243. gridRender.RowDefinitions.Add(new RowDefinition());
  244. gridRender.RowDefinitions.Add(new RowDefinition());
  245. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  246. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  247. gridRender.ShowGridLines = true;
  248. grid1 = new Grid();
  249. grid2 = new Grid();
  250. grid3 = new Grid();
  251. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  252. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  253. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  254. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  255. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  256. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  257. gridRender.Children.Add(grid1);
  258. gridRender.Children.Add(grid2);
  259. gridRender.Children.Add(grid3);
  260. Grid.SetRow(grid1, 0);
  261. Grid.SetColumn(grid1, 0);
  262. Grid.SetRow(grid2, 0);
  263. Grid.SetColumn(grid2, 1);
  264. Grid.SetRow(grid3, 1);
  265. Grid.SetColumn(grid3, 0);
  266. Grid.SetColumnSpan(grid3, 2);
  267. grid1.Children.Add(vmRenders[obj[0].Id]);
  268. grid2.Children.Add(vmRenders[obj[1].Id]);
  269. grid3.Children.Add(vmRenders[obj[2].Id]);
  270. grid1.Children.Add(Titles[obj[0].Id]);
  271. grid2.Children.Add(Titles[obj[1].Id]);
  272. grid3.Children.Add(Titles[obj[2].Id]);
  273. Grid.SetRow(vmRenders[obj[0].Id], 1);
  274. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  275. Grid.SetRow(vmRenders[obj[1].Id], 1);
  276. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  277. Grid.SetRow(vmRenders[obj[2].Id], 1);
  278. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  279. Grid.SetRow(Titles[obj[0].Id], 0);
  280. Grid.SetColumn(Titles[obj[0].Id], 0);
  281. Grid.SetRow(Titles[obj[1].Id], 0);
  282. Grid.SetColumn(Titles[obj[1].Id], 0);
  283. Grid.SetRow(Titles[obj[2].Id], 0);
  284. Grid.SetColumn(Titles[obj[2].Id], 0);
  285. for (int i = 0; i < 3; i++)
  286. {
  287. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  288. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  289. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  290. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  291. }
  292. break;
  293. case 4:
  294. //增加显示界面
  295. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  296. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  297. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  298. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  299. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  300. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  301. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  302. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  303. //布局
  304. gridRender.RowDefinitions.Add(new RowDefinition());
  305. gridRender.RowDefinitions.Add(new RowDefinition());
  306. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  307. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  308. gridRender.ShowGridLines = true;
  309. grid1 = new Grid();
  310. grid2 = new Grid();
  311. grid3 = new Grid();
  312. grid4 = new Grid();
  313. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  314. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  315. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  316. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  317. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  318. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  319. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  320. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  321. gridRender.Children.Add(grid1);
  322. gridRender.Children.Add(grid2);
  323. gridRender.Children.Add(grid3);
  324. gridRender.Children.Add(grid4);
  325. Grid.SetRow(grid1, 0);
  326. Grid.SetColumn(grid1, 0);
  327. Grid.SetRow(grid2, 0);
  328. Grid.SetColumn(grid2, 1);
  329. Grid.SetRow(grid3, 1);
  330. Grid.SetColumn(grid3, 0);
  331. Grid.SetRow(grid4, 1);
  332. Grid.SetColumn(grid4, 1);
  333. grid1.Children.Add(vmRenders[obj[0].Id]);
  334. grid2.Children.Add(vmRenders[obj[1].Id]);
  335. grid3.Children.Add(vmRenders[obj[2].Id]);
  336. grid4.Children.Add(vmRenders[obj[3].Id]);
  337. grid1.Children.Add(Titles[obj[0].Id]);
  338. grid2.Children.Add(Titles[obj[1].Id]);
  339. grid3.Children.Add(Titles[obj[2].Id]);
  340. grid4.Children.Add(Titles[obj[3].Id]);
  341. Grid.SetRow(vmRenders[obj[0].Id], 1);
  342. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  343. Grid.SetRow(vmRenders[obj[1].Id], 1);
  344. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  345. Grid.SetRow(vmRenders[obj[2].Id], 1);
  346. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  347. Grid.SetRow(vmRenders[obj[3].Id], 1);
  348. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  349. //Grid.SetRowSpan(vmRenders[obj[2].Id], 1);
  350. //Grid.SetColumnSpan(vmRenders[obj[2].Id], 0);
  351. Grid.SetRow(Titles[obj[0].Id], 0);
  352. Grid.SetColumn(Titles[obj[0].Id], 0);
  353. Grid.SetRow(Titles[obj[1].Id], 0);
  354. Grid.SetColumn(Titles[obj[1].Id], 0);
  355. Grid.SetRow(Titles[obj[2].Id], 0);
  356. Grid.SetColumn(Titles[obj[2].Id], 0);
  357. Grid.SetRow(Titles[obj[3].Id], 0);
  358. Grid.SetColumn(Titles[obj[3].Id], 0);
  359. for (int i = 0; i < 4; i++)
  360. {
  361. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  362. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  363. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  364. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  365. }
  366. break;
  367. case 5:
  368. //增加显示界面
  369. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  370. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  371. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  372. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  373. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  374. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12 ,Foreground= System.Windows.Media.Brushes.Black});
  375. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  376. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  377. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  378. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  379. //布局
  380. gridRender.RowDefinitions.Add(new RowDefinition());
  381. gridRender.RowDefinitions.Add(new RowDefinition());
  382. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  383. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  384. gridRender.ShowGridLines = true;
  385. grid1 = new Grid() { Background= System.Windows.Media.Brushes.White };
  386. grid2 = new Grid() { Background = System.Windows.Media.Brushes.White };
  387. grid3 = new Grid() { Background = System.Windows.Media.Brushes.White };
  388. grid4 = new Grid() { Background = System.Windows.Media.Brushes.White };
  389. grid5 = new Grid() { Background = System.Windows.Media.Brushes.White };
  390. grid6 = new Grid() { Background = System.Windows.Media.Brushes.White };
  391. grid6.ShowGridLines = true;
  392. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  393. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  394. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  395. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  396. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  397. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  398. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  399. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  400. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  401. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  402. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  403. grid6.ColumnDefinitions.Add(new ColumnDefinition());
  404. grid6.ColumnDefinitions.Add(new ColumnDefinition());
  405. grid6.ColumnDefinitions.Add(new ColumnDefinition());
  406. gridRender.Children.Add(grid1);
  407. gridRender.Children.Add(grid2);
  408. gridRender.Children.Add(grid6);
  409. grid6.Children.Add(grid3);
  410. grid6.Children.Add(grid4);
  411. grid6.Children.Add(grid5);
  412. grid1.Children.Add(vmRenders[obj[0].Id]);
  413. grid2.Children.Add(vmRenders[obj[1].Id]);
  414. grid3.Children.Add(vmRenders[obj[2].Id]);
  415. grid4.Children.Add(vmRenders[obj[3].Id]);
  416. grid5.Children.Add(vmRenders[obj[4].Id]);
  417. grid1.Children.Add(Titles[obj[0].Id]);
  418. grid2.Children.Add(Titles[obj[1].Id]);
  419. grid3.Children.Add(Titles[obj[2].Id]);
  420. grid4.Children.Add(Titles[obj[3].Id]);
  421. grid5.Children.Add(Titles[obj[4].Id]);
  422. Grid.SetRow(grid6, 1);
  423. Grid.SetColumn(grid6, 0);
  424. Grid.SetColumnSpan(grid6, 2);
  425. Grid.SetRow(grid1, 0);
  426. Grid.SetColumn(grid1, 0);
  427. Grid.SetRow(grid2, 0);
  428. Grid.SetColumn(grid2, 1);
  429. Grid.SetRow(grid3, 0);
  430. Grid.SetColumn(grid3, 0);
  431. Grid.SetRow(grid4, 0);
  432. Grid.SetColumn(grid4, 1);
  433. Grid.SetRow(grid5, 0);
  434. Grid.SetColumn(grid5, 2);
  435. Grid.SetRow(Titles[obj[0].Id], 0);
  436. Grid.SetColumn(Titles[obj[0].Id], 0);
  437. Grid.SetRow(Titles[obj[1].Id], 0);
  438. Grid.SetColumn(Titles[obj[1].Id], 0);
  439. Grid.SetRow(Titles[obj[2].Id], 0);
  440. Grid.SetColumn(Titles[obj[2].Id], 0);
  441. Grid.SetRow(Titles[obj[3].Id], 0);
  442. Grid.SetColumn(Titles[obj[3].Id], 0);
  443. Grid.SetRow(Titles[obj[4].Id], 0);
  444. Grid.SetColumn(Titles[obj[4].Id], 0);
  445. Grid.SetRow(vmRenders[obj[0].Id], 1);
  446. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  447. Grid.SetRow(vmRenders[obj[1].Id], 1);
  448. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  449. Grid.SetRow(vmRenders[obj[2].Id], 1);
  450. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  451. Grid.SetRow(vmRenders[obj[3].Id], 1);
  452. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  453. Grid.SetRow(vmRenders[obj[4].Id], 1);
  454. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  455. for (int i = 0; i < 5; i++)
  456. {
  457. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  458. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  459. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  460. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  461. }
  462. break;
  463. case 6:
  464. //增加显示界面
  465. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  466. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  467. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  468. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  469. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  470. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  471. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  472. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  473. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  474. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  475. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  476. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  477. //布局
  478. gridRender.RowDefinitions.Add(new RowDefinition());
  479. gridRender.RowDefinitions.Add(new RowDefinition());
  480. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  481. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  482. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  483. gridRender.ShowGridLines = true;
  484. grid1 = new Grid();
  485. grid2 = new Grid();
  486. grid3 = new Grid();
  487. grid4 = new Grid();
  488. grid5 = new Grid();
  489. grid6 = new Grid();
  490. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  491. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  492. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  493. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  494. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  495. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  496. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  497. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  498. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  499. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  500. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  501. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  502. gridRender.Children.Add(grid1);
  503. gridRender.Children.Add(grid2);
  504. gridRender.Children.Add(grid3);
  505. gridRender.Children.Add(grid4);
  506. gridRender.Children.Add(grid5);
  507. gridRender.Children.Add(grid6);
  508. Grid.SetRow(grid1, 0);
  509. Grid.SetColumn(grid1, 0);
  510. Grid.SetRow(grid2, 0);
  511. Grid.SetColumn(grid2, 1);
  512. Grid.SetRow(grid3, 0);
  513. Grid.SetColumn(grid3, 2);
  514. Grid.SetRow(grid4, 1);
  515. Grid.SetColumn(grid4, 0);
  516. Grid.SetRow(grid5, 1);
  517. Grid.SetColumn(grid5, 1);
  518. Grid.SetRow(grid6, 1);
  519. Grid.SetColumn(grid6, 2);
  520. grid1.Children.Add(vmRenders[obj[0].Id]);
  521. grid2.Children.Add(vmRenders[obj[1].Id]);
  522. grid3.Children.Add(vmRenders[obj[2].Id]);
  523. grid4.Children.Add(vmRenders[obj[3].Id]);
  524. grid5.Children.Add(vmRenders[obj[4].Id]);
  525. grid6.Children.Add(vmRenders[obj[5].Id]);
  526. grid1.Children.Add(Titles[obj[0].Id]);
  527. grid2.Children.Add(Titles[obj[1].Id]);
  528. grid3.Children.Add(Titles[obj[2].Id]);
  529. grid4.Children.Add(Titles[obj[3].Id]);
  530. grid5.Children.Add(Titles[obj[4].Id]);
  531. grid6.Children.Add(Titles[obj[5].Id]);
  532. Grid.SetRow(Titles[obj[0].Id], 0);
  533. Grid.SetColumn(Titles[obj[0].Id], 0);
  534. Grid.SetRow(Titles[obj[1].Id], 0);
  535. Grid.SetColumn(Titles[obj[1].Id], 0);
  536. Grid.SetRow(Titles[obj[2].Id], 0);
  537. Grid.SetColumn(Titles[obj[2].Id], 0);
  538. Grid.SetRow(Titles[obj[3].Id], 0);
  539. Grid.SetColumn(Titles[obj[3].Id], 0);
  540. Grid.SetRow(Titles[obj[4].Id], 0);
  541. Grid.SetColumn(Titles[obj[4].Id], 0);
  542. Grid.SetRow(Titles[obj[5].Id], 0);
  543. Grid.SetColumn(Titles[obj[5].Id], 0);
  544. Grid.SetRow(vmRenders[obj[0].Id], 1);
  545. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  546. Grid.SetRow(vmRenders[obj[1].Id], 1);
  547. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  548. Grid.SetRow(vmRenders[obj[2].Id], 1);
  549. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  550. Grid.SetRow(vmRenders[obj[3].Id], 1);
  551. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  552. Grid.SetRow(vmRenders[obj[4].Id], 1);
  553. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  554. Grid.SetRow(vmRenders[obj[5].Id], 1);
  555. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  556. for (int i = 0; i < 6; i++)
  557. {
  558. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  559. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  560. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  561. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  562. }
  563. break;
  564. case 7:
  565. //增加显示界面
  566. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  567. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  568. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  569. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  570. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  571. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  572. vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].DisplayName } });
  573. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  574. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  575. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  576. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  577. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  578. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  579. Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  580. //布局
  581. gridRender.RowDefinitions.Add(new RowDefinition());
  582. gridRender.RowDefinitions.Add(new RowDefinition());
  583. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  584. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  585. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  586. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  587. gridRender.ShowGridLines = true;
  588. grid1 = new Grid();
  589. grid2 = new Grid();
  590. grid3 = new Grid();
  591. grid4 = new Grid();
  592. grid5 = new Grid();
  593. grid6 = new Grid();
  594. grid7 = new Grid();
  595. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  596. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  597. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  598. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  599. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  600. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  601. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  602. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  603. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  604. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  605. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  606. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  607. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  608. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  609. gridRender.Children.Add(grid1);
  610. gridRender.Children.Add(grid2);
  611. gridRender.Children.Add(grid3);
  612. gridRender.Children.Add(grid4);
  613. gridRender.Children.Add(grid5);
  614. gridRender.Children.Add(grid6);
  615. gridRender.Children.Add(grid7);
  616. Grid.SetRow(grid1, 0);
  617. Grid.SetColumn(grid1, 0);
  618. Grid.SetRow(grid2, 0);
  619. Grid.SetColumn(grid2, 1);
  620. Grid.SetRow(grid3, 0);
  621. Grid.SetColumn(grid3, 2);
  622. Grid.SetRow(grid4, 0);
  623. Grid.SetColumn(grid4, 3);
  624. Grid.SetRow(grid5, 1);
  625. Grid.SetColumn(grid5, 0);
  626. Grid.SetRow(grid6, 1);
  627. Grid.SetColumn(grid6, 1);
  628. Grid.SetRow(grid7, 1);
  629. Grid.SetColumn(grid7, 2);
  630. grid1.Children.Add(vmRenders[obj[0].Id]);
  631. grid2.Children.Add(vmRenders[obj[1].Id]);
  632. grid3.Children.Add(vmRenders[obj[2].Id]);
  633. grid4.Children.Add(vmRenders[obj[3].Id]);
  634. grid5.Children.Add(vmRenders[obj[4].Id]);
  635. grid6.Children.Add(vmRenders[obj[5].Id]);
  636. grid7.Children.Add(vmRenders[obj[6].Id]);
  637. grid1.Children.Add(Titles[obj[0].Id]);
  638. grid2.Children.Add(Titles[obj[1].Id]);
  639. grid3.Children.Add(Titles[obj[2].Id]);
  640. grid4.Children.Add(Titles[obj[3].Id]);
  641. grid5.Children.Add(Titles[obj[4].Id]);
  642. grid6.Children.Add(Titles[obj[5].Id]);
  643. grid7.Children.Add(Titles[obj[6].Id]);
  644. Grid.SetRow(Titles[obj[0].Id], 0);
  645. Grid.SetColumn(Titles[obj[0].Id], 0);
  646. Grid.SetRow(Titles[obj[1].Id], 0);
  647. Grid.SetColumn(Titles[obj[1].Id], 0);
  648. Grid.SetRow(Titles[obj[2].Id], 0);
  649. Grid.SetColumn(Titles[obj[2].Id], 0);
  650. Grid.SetRow(Titles[obj[3].Id], 0);
  651. Grid.SetColumn(Titles[obj[3].Id], 0);
  652. Grid.SetRow(Titles[obj[4].Id], 0);
  653. Grid.SetColumn(Titles[obj[4].Id], 0);
  654. Grid.SetRow(Titles[obj[5].Id], 0);
  655. Grid.SetColumn(Titles[obj[5].Id], 0);
  656. Grid.SetRow(Titles[obj[6].Id], 0);
  657. Grid.SetColumn(Titles[obj[6].Id], 0);
  658. Grid.SetRow(vmRenders[obj[0].Id], 1);
  659. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  660. Grid.SetRow(vmRenders[obj[1].Id], 1);
  661. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  662. Grid.SetRow(vmRenders[obj[2].Id], 1);
  663. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  664. Grid.SetRow(vmRenders[obj[3].Id], 1);
  665. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  666. Grid.SetRow(vmRenders[obj[4].Id], 1);
  667. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  668. Grid.SetRow(vmRenders[obj[5].Id], 1);
  669. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  670. Grid.SetRow(vmRenders[obj[6].Id], 1);
  671. Grid.SetColumn(vmRenders[obj[6].Id], 0);
  672. for (int i = 0; i < 7; i++)
  673. {
  674. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  675. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  676. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  677. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  678. }
  679. break;
  680. case 8:
  681. //增加显示界面
  682. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  683. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  684. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  685. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  686. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  687. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  688. vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].DisplayName } });
  689. vmRenders.Add(obj[7].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[7].DisplayName } });
  690. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  691. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  692. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  693. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  694. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  695. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  696. Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  697. Titles.Add(obj[7].Id, new TextBlock() { Text = obj[7].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  698. //布局
  699. gridRender.RowDefinitions.Add(new RowDefinition());
  700. gridRender.RowDefinitions.Add(new RowDefinition());
  701. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  702. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  703. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  704. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  705. gridRender.ShowGridLines = true;
  706. grid1 = new Grid();
  707. grid2 = new Grid();
  708. grid3 = new Grid();
  709. grid4 = new Grid();
  710. grid5 = new Grid();
  711. grid6 = new Grid();
  712. grid7 = new Grid();
  713. grid8 = new Grid();
  714. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  715. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  716. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  717. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  718. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  719. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  720. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  721. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  722. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  723. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  724. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  725. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  726. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  727. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  728. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  729. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  730. gridRender.Children.Add(grid1);
  731. gridRender.Children.Add(grid2);
  732. gridRender.Children.Add(grid3);
  733. gridRender.Children.Add(grid4);
  734. gridRender.Children.Add(grid5);
  735. gridRender.Children.Add(grid6);
  736. gridRender.Children.Add(grid7);
  737. gridRender.Children.Add(grid8);
  738. Grid.SetRow(grid1, 0);
  739. Grid.SetColumn(grid1, 0);
  740. Grid.SetRow(grid2, 0);
  741. Grid.SetColumn(grid2, 1);
  742. Grid.SetRow(grid3, 0);
  743. Grid.SetColumn(grid3, 2);
  744. Grid.SetRow(grid4, 0);
  745. Grid.SetColumn(grid4, 3);
  746. Grid.SetRow(grid5, 1);
  747. Grid.SetColumn(grid5, 0);
  748. Grid.SetRow(grid6, 1);
  749. Grid.SetColumn(grid6, 1);
  750. Grid.SetRow(grid7, 1);
  751. Grid.SetColumn(grid7, 2);
  752. Grid.SetRow(grid8, 1);
  753. Grid.SetColumn(grid8, 3);
  754. grid1.Children.Add(vmRenders[obj[0].Id]);
  755. grid2.Children.Add(vmRenders[obj[1].Id]);
  756. grid3.Children.Add(vmRenders[obj[2].Id]);
  757. grid4.Children.Add(vmRenders[obj[3].Id]);
  758. grid5.Children.Add(vmRenders[obj[4].Id]);
  759. grid6.Children.Add(vmRenders[obj[5].Id]);
  760. grid7.Children.Add(vmRenders[obj[6].Id]);
  761. grid8.Children.Add(vmRenders[obj[7].Id]);
  762. grid1.Children.Add(Titles[obj[0].Id]);
  763. grid2.Children.Add(Titles[obj[1].Id]);
  764. grid3.Children.Add(Titles[obj[2].Id]);
  765. grid4.Children.Add(Titles[obj[3].Id]);
  766. grid5.Children.Add(Titles[obj[4].Id]);
  767. grid6.Children.Add(Titles[obj[5].Id]);
  768. grid7.Children.Add(Titles[obj[6].Id]);
  769. grid8.Children.Add(Titles[obj[7].Id]);
  770. Grid.SetRow(Titles[obj[0].Id], 0);
  771. Grid.SetColumn(Titles[obj[0].Id], 0);
  772. Grid.SetRow(Titles[obj[1].Id], 0);
  773. Grid.SetColumn(Titles[obj[1].Id], 0);
  774. Grid.SetRow(Titles[obj[2].Id], 0);
  775. Grid.SetColumn(Titles[obj[2].Id], 0);
  776. Grid.SetRow(Titles[obj[3].Id], 0);
  777. Grid.SetColumn(Titles[obj[3].Id], 0);
  778. Grid.SetRow(Titles[obj[4].Id], 0);
  779. Grid.SetColumn(Titles[obj[4].Id], 0);
  780. Grid.SetRow(Titles[obj[5].Id], 0);
  781. Grid.SetColumn(Titles[obj[5].Id], 0);
  782. Grid.SetRow(Titles[obj[6].Id], 0);
  783. Grid.SetColumn(Titles[obj[6].Id], 0);
  784. Grid.SetRow(Titles[obj[7].Id], 0);
  785. Grid.SetColumn(Titles[obj[7].Id], 0);
  786. Grid.SetRow(vmRenders[obj[0].Id], 1);
  787. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  788. Grid.SetRow(vmRenders[obj[1].Id], 1);
  789. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  790. Grid.SetRow(vmRenders[obj[2].Id], 1);
  791. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  792. Grid.SetRow(vmRenders[obj[3].Id], 1);
  793. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  794. Grid.SetRow(vmRenders[obj[4].Id], 1);
  795. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  796. Grid.SetRow(vmRenders[obj[5].Id], 1);
  797. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  798. Grid.SetRow(vmRenders[obj[6].Id], 1);
  799. Grid.SetColumn(vmRenders[obj[6].Id], 0);
  800. Grid.SetRow(vmRenders[obj[7].Id], 1);
  801. Grid.SetColumn(vmRenders[obj[7].Id], 0);
  802. for (int i = 0; i < 8; i++)
  803. {
  804. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  805. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  806. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  807. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  808. }
  809. break;
  810. case 9:
  811. //增加显示界面
  812. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  813. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  814. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  815. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  816. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  817. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  818. vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].DisplayName } });
  819. vmRenders.Add(obj[7].Id, new WindowsFormsHost() { Tag = obj[7].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[7].DisplayName } });
  820. vmRenders.Add(obj[8].Id, new WindowsFormsHost() { Tag = obj[8].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[8].DisplayName } });
  821. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  822. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  823. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  824. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  825. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  826. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  827. Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  828. Titles.Add(obj[7].Id, new TextBlock() { Text = obj[7].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  829. Titles.Add(obj[8].Id, new TextBlock() { Text = obj[8].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  830. //布局
  831. gridRender.RowDefinitions.Add(new RowDefinition());
  832. gridRender.RowDefinitions.Add(new RowDefinition());
  833. gridRender.RowDefinitions.Add(new RowDefinition());
  834. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  835. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  836. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  837. gridRender.ShowGridLines = true;
  838. grid1 = new Grid();
  839. grid2 = new Grid();
  840. grid3 = new Grid();
  841. grid4 = new Grid();
  842. grid5 = new Grid();
  843. grid6 = new Grid();
  844. grid7 = new Grid();
  845. grid8 = new Grid();
  846. grid9 = new Grid();
  847. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  848. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  849. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  850. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  851. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  852. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  853. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  854. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  855. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  856. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  857. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  858. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  859. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  860. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  861. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  862. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  863. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  864. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  865. gridRender.Children.Add(grid1);
  866. gridRender.Children.Add(grid2);
  867. gridRender.Children.Add(grid3);
  868. gridRender.Children.Add(grid4);
  869. gridRender.Children.Add(grid5);
  870. gridRender.Children.Add(grid6);
  871. gridRender.Children.Add(grid7);
  872. gridRender.Children.Add(grid8);
  873. gridRender.Children.Add(grid9);
  874. Grid.SetRow(grid1, 0);
  875. Grid.SetColumn(grid1, 0);
  876. Grid.SetRow(grid2, 0);
  877. Grid.SetColumn(grid2, 1);
  878. Grid.SetRow(grid3, 0);
  879. Grid.SetColumn(grid3, 2);
  880. Grid.SetRow(grid4, 1);
  881. Grid.SetColumn(grid4, 0);
  882. Grid.SetRow(grid5, 1);
  883. Grid.SetColumn(grid5, 1);
  884. Grid.SetRow(grid6, 1);
  885. Grid.SetColumn(grid6, 2);
  886. Grid.SetRow(grid7, 2);
  887. Grid.SetColumn(grid7, 0);
  888. Grid.SetRow(grid8, 2);
  889. Grid.SetColumn(grid8, 1);
  890. Grid.SetRow(grid9, 2);
  891. Grid.SetColumn(grid9, 2);
  892. grid1.Children.Add(vmRenders[obj[0].Id]);
  893. grid2.Children.Add(vmRenders[obj[1].Id]);
  894. grid3.Children.Add(vmRenders[obj[2].Id]);
  895. grid4.Children.Add(vmRenders[obj[3].Id]);
  896. grid5.Children.Add(vmRenders[obj[4].Id]);
  897. grid6.Children.Add(vmRenders[obj[5].Id]);
  898. grid7.Children.Add(vmRenders[obj[6].Id]);
  899. grid8.Children.Add(vmRenders[obj[7].Id]);
  900. grid9.Children.Add(vmRenders[obj[8].Id]);
  901. grid1.Children.Add(Titles[obj[0].Id]);
  902. grid2.Children.Add(Titles[obj[1].Id]);
  903. grid3.Children.Add(Titles[obj[2].Id]);
  904. grid4.Children.Add(Titles[obj[3].Id]);
  905. grid5.Children.Add(Titles[obj[4].Id]);
  906. grid6.Children.Add(Titles[obj[5].Id]);
  907. grid7.Children.Add(Titles[obj[6].Id]);
  908. grid8.Children.Add(Titles[obj[7].Id]);
  909. grid9.Children.Add(Titles[obj[8].Id]);
  910. Grid.SetRow(Titles[obj[0].Id], 0);
  911. Grid.SetColumn(Titles[obj[0].Id], 0);
  912. Grid.SetRow(Titles[obj[1].Id], 0);
  913. Grid.SetColumn(Titles[obj[1].Id], 0);
  914. Grid.SetRow(Titles[obj[2].Id], 0);
  915. Grid.SetColumn(Titles[obj[2].Id], 0);
  916. Grid.SetRow(Titles[obj[3].Id], 0);
  917. Grid.SetColumn(Titles[obj[3].Id], 0);
  918. Grid.SetRow(Titles[obj[4].Id], 0);
  919. Grid.SetColumn(Titles[obj[4].Id], 0);
  920. Grid.SetRow(Titles[obj[5].Id], 0);
  921. Grid.SetColumn(Titles[obj[5].Id], 0);
  922. Grid.SetRow(Titles[obj[6].Id], 0);
  923. Grid.SetColumn(Titles[obj[6].Id], 0);
  924. Grid.SetRow(Titles[obj[7].Id], 0);
  925. Grid.SetColumn(Titles[obj[7].Id], 0);
  926. Grid.SetRow(Titles[obj[8].Id], 0);
  927. Grid.SetColumn(Titles[obj[8].Id], 0);
  928. Grid.SetRow(vmRenders[obj[0].Id], 1);
  929. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  930. Grid.SetRow(vmRenders[obj[1].Id], 1);
  931. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  932. Grid.SetRow(vmRenders[obj[2].Id], 1);
  933. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  934. Grid.SetRow(vmRenders[obj[3].Id], 1);
  935. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  936. Grid.SetRow(vmRenders[obj[4].Id], 1);
  937. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  938. Grid.SetRow(vmRenders[obj[5].Id], 1);
  939. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  940. Grid.SetRow(vmRenders[obj[6].Id], 1);
  941. Grid.SetColumn(vmRenders[obj[6].Id], 0);
  942. Grid.SetRow(vmRenders[obj[7].Id], 1);
  943. Grid.SetColumn(vmRenders[obj[7].Id], 0);
  944. Grid.SetRow(vmRenders[obj[8].Id], 1);
  945. Grid.SetColumn(vmRenders[obj[8].Id], 0);
  946. for (int i = 0; i < 9; i++)
  947. {
  948. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  949. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  950. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  951. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  952. }
  953. break;
  954. case 12:
  955. //增加显示界面
  956. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  957. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  958. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  959. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  960. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  961. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  962. vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].DisplayName } });
  963. vmRenders.Add(obj[7].Id, new WindowsFormsHost() { Tag = obj[7].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[7].DisplayName } });
  964. vmRenders.Add(obj[8].Id, new WindowsFormsHost() { Tag = obj[8].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[8].DisplayName } });
  965. vmRenders.Add(obj[9].Id, new WindowsFormsHost() { Tag = obj[9].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[9].DisplayName } });
  966. vmRenders.Add(obj[10].Id, new WindowsFormsHost() { Tag = obj[10].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[10].DisplayName } });
  967. vmRenders.Add(obj[11].Id, new WindowsFormsHost() { Tag = obj[11].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[11].DisplayName } });
  968. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  969. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  970. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  971. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  972. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  973. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  974. Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  975. Titles.Add(obj[7].Id, new TextBlock() { Text = obj[7].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  976. Titles.Add(obj[8].Id, new TextBlock() { Text = obj[8].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  977. Titles.Add(obj[9].Id, new TextBlock() { Text = obj[9].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  978. Titles.Add(obj[10].Id, new TextBlock() { Text = obj[10].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  979. Titles.Add(obj[11].Id, new TextBlock() { Text = obj[11].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  980. //布局
  981. gridRender.RowDefinitions.Add(new RowDefinition());
  982. gridRender.RowDefinitions.Add(new RowDefinition());
  983. gridRender.RowDefinitions.Add(new RowDefinition());
  984. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  985. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  986. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  987. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  988. gridRender.ShowGridLines = true;
  989. grid1 = new Grid();
  990. grid2 = new Grid();
  991. grid3 = new Grid();
  992. grid4 = new Grid();
  993. grid5 = new Grid();
  994. grid6 = new Grid();
  995. grid7 = new Grid();
  996. grid8 = new Grid();
  997. grid9 = new Grid();
  998. grid10 = new Grid();
  999. grid11 = new Grid();
  1000. grid12 = new Grid();
  1001. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1002. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1003. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1004. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1005. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1006. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1007. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1008. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1009. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1010. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1011. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1012. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1013. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1014. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1015. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1016. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1017. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1018. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1019. grid10.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1020. grid10.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1021. grid11.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1022. grid11.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1023. grid12.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1024. grid12.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1025. gridRender.Children.Add(grid1);
  1026. gridRender.Children.Add(grid2);
  1027. gridRender.Children.Add(grid3);
  1028. gridRender.Children.Add(grid4);
  1029. gridRender.Children.Add(grid5);
  1030. gridRender.Children.Add(grid6);
  1031. gridRender.Children.Add(grid7);
  1032. gridRender.Children.Add(grid8);
  1033. gridRender.Children.Add(grid9);
  1034. gridRender.Children.Add(grid10);
  1035. gridRender.Children.Add(grid11);
  1036. gridRender.Children.Add(grid12);
  1037. Grid.SetRow(grid1, 0);
  1038. Grid.SetColumn(grid1, 0);
  1039. Grid.SetRow(grid2, 0);
  1040. Grid.SetColumn(grid2, 1);
  1041. Grid.SetRow(grid3, 0);
  1042. Grid.SetColumn(grid3, 2);
  1043. Grid.SetRow(grid4, 0);
  1044. Grid.SetColumn(grid4, 3);
  1045. Grid.SetRow(grid5, 1);
  1046. Grid.SetColumn(grid5, 0);
  1047. Grid.SetRow(grid6, 1);
  1048. Grid.SetColumn(grid6, 1);
  1049. Grid.SetRow(grid7, 1);
  1050. Grid.SetColumn(grid7, 2);
  1051. Grid.SetRow(grid8, 1);
  1052. Grid.SetColumn(grid8, 3);
  1053. Grid.SetRow(grid9, 2);
  1054. Grid.SetColumn(grid9, 0);
  1055. Grid.SetRow(grid10, 2);
  1056. Grid.SetColumn(grid10, 1);
  1057. Grid.SetRow(grid11, 2);
  1058. Grid.SetColumn(grid11, 2);
  1059. Grid.SetRow(grid12, 2);
  1060. Grid.SetColumn(grid12, 3);
  1061. grid1.Children.Add(vmRenders[obj[0].Id]);
  1062. grid2.Children.Add(vmRenders[obj[1].Id]);
  1063. grid3.Children.Add(vmRenders[obj[2].Id]);
  1064. grid4.Children.Add(vmRenders[obj[3].Id]);
  1065. grid5.Children.Add(vmRenders[obj[4].Id]);
  1066. grid6.Children.Add(vmRenders[obj[5].Id]);
  1067. grid7.Children.Add(vmRenders[obj[6].Id]);
  1068. grid8.Children.Add(vmRenders[obj[7].Id]);
  1069. grid9.Children.Add(vmRenders[obj[8].Id]);
  1070. grid10.Children.Add(vmRenders[obj[9].Id]);
  1071. grid11.Children.Add(vmRenders[obj[10].Id]);
  1072. grid12.Children.Add(vmRenders[obj[11].Id]);
  1073. grid1.Children.Add(Titles[obj[0].Id]);
  1074. grid2.Children.Add(Titles[obj[1].Id]);
  1075. grid3.Children.Add(Titles[obj[2].Id]);
  1076. grid4.Children.Add(Titles[obj[3].Id]);
  1077. grid5.Children.Add(Titles[obj[4].Id]);
  1078. grid6.Children.Add(Titles[obj[5].Id]);
  1079. grid7.Children.Add(Titles[obj[6].Id]);
  1080. grid8.Children.Add(Titles[obj[7].Id]);
  1081. grid9.Children.Add(Titles[obj[8].Id]);
  1082. grid10.Children.Add(Titles[obj[9].Id]);
  1083. grid11.Children.Add(Titles[obj[10].Id]);
  1084. grid12.Children.Add(Titles[obj[11].Id]);
  1085. Grid.SetRow(Titles[obj[0].Id], 0);
  1086. Grid.SetColumn(Titles[obj[0].Id], 0);
  1087. Grid.SetRow(Titles[obj[1].Id], 0);
  1088. Grid.SetColumn(Titles[obj[1].Id], 0);
  1089. Grid.SetRow(Titles[obj[2].Id], 0);
  1090. Grid.SetColumn(Titles[obj[2].Id], 0);
  1091. Grid.SetRow(Titles[obj[3].Id], 0);
  1092. Grid.SetColumn(Titles[obj[3].Id], 0);
  1093. Grid.SetRow(Titles[obj[4].Id], 0);
  1094. Grid.SetColumn(Titles[obj[4].Id], 0);
  1095. Grid.SetRow(Titles[obj[5].Id], 0);
  1096. Grid.SetColumn(Titles[obj[5].Id], 0);
  1097. Grid.SetRow(Titles[obj[6].Id], 0);
  1098. Grid.SetColumn(Titles[obj[6].Id], 0);
  1099. Grid.SetRow(Titles[obj[7].Id], 0);
  1100. Grid.SetColumn(Titles[obj[7].Id], 0);
  1101. Grid.SetRow(Titles[obj[8].Id], 0);
  1102. Grid.SetColumn(Titles[obj[8].Id], 0);
  1103. Grid.SetRow(Titles[obj[9].Id], 0);
  1104. Grid.SetColumn(Titles[obj[9].Id], 0);
  1105. Grid.SetRow(Titles[obj[10].Id], 0);
  1106. Grid.SetColumn(Titles[obj[10].Id], 0);
  1107. Grid.SetRow(Titles[obj[11].Id], 0);
  1108. Grid.SetColumn(Titles[obj[11].Id], 0);
  1109. Grid.SetRow(vmRenders[obj[0].Id], 1);
  1110. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  1111. Grid.SetRow(vmRenders[obj[1].Id], 1);
  1112. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  1113. Grid.SetRow(vmRenders[obj[2].Id], 1);
  1114. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  1115. Grid.SetRow(vmRenders[obj[3].Id], 1);
  1116. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  1117. Grid.SetRow(vmRenders[obj[4].Id], 1);
  1118. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  1119. Grid.SetRow(vmRenders[obj[5].Id], 1);
  1120. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  1121. Grid.SetRow(vmRenders[obj[6].Id], 1);
  1122. Grid.SetColumn(vmRenders[obj[6].Id], 0);
  1123. Grid.SetRow(vmRenders[obj[7].Id], 1);
  1124. Grid.SetColumn(vmRenders[obj[7].Id], 0);
  1125. Grid.SetRow(vmRenders[obj[8].Id], 1);
  1126. Grid.SetColumn(vmRenders[obj[8].Id], 0);
  1127. Grid.SetRow(vmRenders[obj[9].Id], 1);
  1128. Grid.SetColumn(vmRenders[obj[9].Id], 0);
  1129. Grid.SetRow(vmRenders[obj[10].Id], 1);
  1130. Grid.SetColumn(vmRenders[obj[10].Id], 0);
  1131. Grid.SetRow(vmRenders[obj[11].Id], 1);
  1132. Grid.SetColumn(vmRenders[obj[11].Id], 0);
  1133. for (int i = 0; i < 12; i++)
  1134. {
  1135. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  1136. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  1137. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  1138. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  1139. }
  1140. break;
  1141. case 20:
  1142. //增加显示界面
  1143. vmRenders.Add(obj[0].Id, new WindowsFormsHost() { Tag = obj[0].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[0].DisplayName } });
  1144. vmRenders.Add(obj[1].Id, new WindowsFormsHost() { Tag = obj[1].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[1].DisplayName } });
  1145. vmRenders.Add(obj[2].Id, new WindowsFormsHost() { Tag = obj[2].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[2].DisplayName } });
  1146. vmRenders.Add(obj[3].Id, new WindowsFormsHost() { Tag = obj[3].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[3].DisplayName } });
  1147. vmRenders.Add(obj[4].Id, new WindowsFormsHost() { Tag = obj[4].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[4].DisplayName } });
  1148. vmRenders.Add(obj[5].Id, new WindowsFormsHost() { Tag = obj[5].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[5].DisplayName } });
  1149. vmRenders.Add(obj[6].Id, new WindowsFormsHost() { Tag = obj[6].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[6].DisplayName } });
  1150. vmRenders.Add(obj[7].Id, new WindowsFormsHost() { Tag = obj[7].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[7].DisplayName } });
  1151. vmRenders.Add(obj[8].Id, new WindowsFormsHost() { Tag = obj[8].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[8].DisplayName } });
  1152. vmRenders.Add(obj[9].Id, new WindowsFormsHost() { Tag = obj[9].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[9].DisplayName } });
  1153. vmRenders.Add(obj[10].Id, new WindowsFormsHost() { Tag = obj[10].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[10].DisplayName } });
  1154. vmRenders.Add(obj[11].Id, new WindowsFormsHost() { Tag = obj[11].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[11].DisplayName } });
  1155. vmRenders.Add(obj[12].Id, new WindowsFormsHost() { Tag = obj[12].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[12].DisplayName } });
  1156. vmRenders.Add(obj[13].Id, new WindowsFormsHost() { Tag = obj[13].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[13].DisplayName } });
  1157. vmRenders.Add(obj[14].Id, new WindowsFormsHost() { Tag = obj[14].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[14].DisplayName } });
  1158. vmRenders.Add(obj[15].Id, new WindowsFormsHost() { Tag = obj[15].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[15].DisplayName } });
  1159. vmRenders.Add(obj[16].Id, new WindowsFormsHost() { Tag = obj[16].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[16].DisplayName } });
  1160. vmRenders.Add(obj[17].Id, new WindowsFormsHost() { Tag = obj[17].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[17].DisplayName } });
  1161. vmRenders.Add(obj[18].Id, new WindowsFormsHost() { Tag = obj[18].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[18].DisplayName } });
  1162. vmRenders.Add(obj[19].Id, new WindowsFormsHost() { Tag = obj[19].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[19].DisplayName } });
  1163. //vmRenders.Add(obj[20].Id, new WindowsFormsHost() { Tag = obj[20].DisplayName, Child = new Cognex.VisionPro.CogRecordDisplay() { Tag = obj[20].DisplayName } });
  1164. Titles.Add(obj[0].Id, new TextBlock() { Text = obj[0].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1165. Titles.Add(obj[1].Id, new TextBlock() { Text = obj[1].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1166. Titles.Add(obj[2].Id, new TextBlock() { Text = obj[2].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1167. Titles.Add(obj[3].Id, new TextBlock() { Text = obj[3].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1168. Titles.Add(obj[4].Id, new TextBlock() { Text = obj[4].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1169. Titles.Add(obj[5].Id, new TextBlock() { Text = obj[5].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1170. Titles.Add(obj[6].Id, new TextBlock() { Text = obj[6].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1171. Titles.Add(obj[7].Id, new TextBlock() { Text = obj[7].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1172. Titles.Add(obj[8].Id, new TextBlock() { Text = obj[8].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1173. Titles.Add(obj[9].Id, new TextBlock() { Text = obj[9].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1174. Titles.Add(obj[10].Id, new TextBlock() { Text = obj[10].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1175. Titles.Add(obj[11].Id, new TextBlock() { Text = obj[11].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1176. Titles.Add(obj[12].Id, new TextBlock() { Text = obj[12].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1177. Titles.Add(obj[13].Id, new TextBlock() { Text = obj[13].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1178. Titles.Add(obj[14].Id, new TextBlock() { Text = obj[14].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1179. Titles.Add(obj[15].Id, new TextBlock() { Text = obj[15].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1180. Titles.Add(obj[16].Id, new TextBlock() { Text = obj[16].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1181. Titles.Add(obj[17].Id, new TextBlock() { Text = obj[17].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1182. Titles.Add(obj[18].Id, new TextBlock() { Text = obj[18].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1183. Titles.Add(obj[19].Id, new TextBlock() { Text = obj[19].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1184. //Titles.Add(obj[20].Id, new TextBlock() { Text = obj[19].DisplayName, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, FontWeight = FontWeights.Bold, FontFamily = font, FontSize = 12, Foreground = System.Windows.Media.Brushes.Black });
  1185. //布局
  1186. gridRender.RowDefinitions.Add(new RowDefinition());
  1187. gridRender.RowDefinitions.Add(new RowDefinition());
  1188. gridRender.RowDefinitions.Add(new RowDefinition());
  1189. gridRender.RowDefinitions.Add(new RowDefinition());
  1190. gridRender.RowDefinitions.Add(new RowDefinition());
  1191. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  1192. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  1193. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  1194. gridRender.ColumnDefinitions.Add(new ColumnDefinition());
  1195. gridRender.ShowGridLines = true;
  1196. grid1 = new Grid();
  1197. grid2 = new Grid();
  1198. grid3 = new Grid();
  1199. grid4 = new Grid();
  1200. grid5 = new Grid();
  1201. grid6 = new Grid();
  1202. grid7 = new Grid();
  1203. grid8 = new Grid();
  1204. grid9 = new Grid();
  1205. grid10 = new Grid();
  1206. grid11 = new Grid();
  1207. grid12 = new Grid();
  1208. grid13 = new Grid();
  1209. grid14 = new Grid();
  1210. grid15 = new Grid();
  1211. grid16 = new Grid();
  1212. grid17 = new Grid();
  1213. grid18 = new Grid();
  1214. grid19 = new Grid();
  1215. grid20 = new Grid();
  1216. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1217. grid1.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1218. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1219. grid2.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1220. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1221. grid3.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1222. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1223. grid4.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1224. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1225. grid5.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1226. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1227. grid6.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1228. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1229. grid7.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1230. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1231. grid8.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1232. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1233. grid9.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1234. grid10.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1235. grid10.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1236. grid11.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1237. grid11.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1238. grid12.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1239. grid12.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1240. grid13.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1241. grid13.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1242. grid14.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1243. grid14.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1244. grid15.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1245. grid15.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1246. grid16.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1247. grid16.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1248. grid17.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1249. grid17.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1250. grid18.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1251. grid18.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1252. grid19.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1253. grid19.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1254. grid20.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Auto) });
  1255. grid20.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
  1256. gridRender.Children.Add(grid1);
  1257. gridRender.Children.Add(grid2);
  1258. gridRender.Children.Add(grid3);
  1259. gridRender.Children.Add(grid4);
  1260. gridRender.Children.Add(grid5);
  1261. gridRender.Children.Add(grid6);
  1262. gridRender.Children.Add(grid7);
  1263. gridRender.Children.Add(grid8);
  1264. gridRender.Children.Add(grid9);
  1265. gridRender.Children.Add(grid10);
  1266. gridRender.Children.Add(grid11);
  1267. gridRender.Children.Add(grid12);
  1268. gridRender.Children.Add(grid13);
  1269. gridRender.Children.Add(grid14);
  1270. gridRender.Children.Add(grid15);
  1271. gridRender.Children.Add(grid16);
  1272. gridRender.Children.Add(grid17);
  1273. gridRender.Children.Add(grid18);
  1274. gridRender.Children.Add(grid19);
  1275. gridRender.Children.Add(grid20);
  1276. Grid.SetRow(grid1, 0);
  1277. Grid.SetColumn(grid1, 0);
  1278. Grid.SetRow(grid2, 0);
  1279. Grid.SetColumn(grid2, 1);
  1280. Grid.SetRow(grid3, 0);
  1281. Grid.SetColumn(grid3, 2);
  1282. Grid.SetRow(grid4, 0);
  1283. Grid.SetColumn(grid4, 3);
  1284. Grid.SetRow(grid5, 1);
  1285. Grid.SetColumn(grid5, 0);
  1286. Grid.SetRow(grid6, 1);
  1287. Grid.SetColumn(grid6, 1);
  1288. Grid.SetRow(grid7, 1);
  1289. Grid.SetColumn(grid7, 2);
  1290. Grid.SetRow(grid8, 1);
  1291. Grid.SetColumn(grid8, 3);
  1292. Grid.SetRow(grid9, 2);
  1293. Grid.SetColumn(grid9, 0);
  1294. Grid.SetRow(grid10, 2);
  1295. Grid.SetColumn(grid10, 1);
  1296. Grid.SetRow(grid11, 2);
  1297. Grid.SetColumn(grid11, 2);
  1298. Grid.SetRow(grid12, 2);
  1299. Grid.SetColumn(grid12, 3);
  1300. Grid.SetRow(grid13, 3);
  1301. Grid.SetColumn(grid13, 0);
  1302. Grid.SetRow(grid14, 3);
  1303. Grid.SetColumn(grid14, 1);
  1304. Grid.SetRow(grid15, 3);
  1305. Grid.SetColumn(grid15, 2);
  1306. Grid.SetRow(grid16, 3);
  1307. Grid.SetColumn(grid16, 3);
  1308. Grid.SetRow(grid17, 4);
  1309. Grid.SetColumn(grid17, 0);
  1310. Grid.SetRow(grid18, 4);
  1311. Grid.SetColumn(grid18, 1);
  1312. Grid.SetRow(grid19, 4);
  1313. Grid.SetColumn(grid19, 2);
  1314. Grid.SetRow(grid20, 4);
  1315. Grid.SetColumn(grid20, 3);
  1316. grid1.Children.Add(vmRenders[obj[0].Id]);
  1317. grid2.Children.Add(vmRenders[obj[1].Id]);
  1318. grid3.Children.Add(vmRenders[obj[2].Id]);
  1319. grid4.Children.Add(vmRenders[obj[3].Id]);
  1320. grid5.Children.Add(vmRenders[obj[4].Id]);
  1321. grid6.Children.Add(vmRenders[obj[5].Id]);
  1322. grid7.Children.Add(vmRenders[obj[6].Id]);
  1323. grid8.Children.Add(vmRenders[obj[7].Id]);
  1324. grid9.Children.Add(vmRenders[obj[8].Id]);
  1325. grid10.Children.Add(vmRenders[obj[9].Id]);
  1326. grid11.Children.Add(vmRenders[obj[10].Id]);
  1327. grid12.Children.Add(vmRenders[obj[11].Id]);
  1328. grid13.Children.Add(vmRenders[obj[12].Id]);
  1329. grid14.Children.Add(vmRenders[obj[13].Id]);
  1330. grid15.Children.Add(vmRenders[obj[14].Id]);
  1331. grid16.Children.Add(vmRenders[obj[15].Id]);
  1332. grid17.Children.Add(vmRenders[obj[16].Id]);
  1333. grid18.Children.Add(vmRenders[obj[17].Id]);
  1334. grid19.Children.Add(vmRenders[obj[18].Id]);
  1335. grid20.Children.Add(vmRenders[obj[19].Id]);
  1336. grid1.Children.Add(Titles[obj[0].Id]);
  1337. grid2.Children.Add(Titles[obj[1].Id]);
  1338. grid3.Children.Add(Titles[obj[2].Id]);
  1339. grid4.Children.Add(Titles[obj[3].Id]);
  1340. grid5.Children.Add(Titles[obj[4].Id]);
  1341. grid6.Children.Add(Titles[obj[5].Id]);
  1342. grid7.Children.Add(Titles[obj[6].Id]);
  1343. grid8.Children.Add(Titles[obj[7].Id]);
  1344. grid9.Children.Add(Titles[obj[8].Id]);
  1345. grid10.Children.Add(Titles[obj[9].Id]);
  1346. grid11.Children.Add(Titles[obj[10].Id]);
  1347. grid12.Children.Add(Titles[obj[11].Id]);
  1348. grid13.Children.Add(Titles[obj[12].Id]);
  1349. grid14.Children.Add(Titles[obj[13].Id]);
  1350. grid15.Children.Add(Titles[obj[14].Id]);
  1351. grid16.Children.Add(Titles[obj[15].Id]);
  1352. grid17.Children.Add(Titles[obj[16].Id]);
  1353. grid18.Children.Add(Titles[obj[17].Id]);
  1354. grid19.Children.Add(Titles[obj[18].Id]);
  1355. grid20.Children.Add(Titles[obj[19].Id]);
  1356. Grid.SetRow(Titles[obj[0].Id], 0);
  1357. Grid.SetColumn(Titles[obj[0].Id], 0);
  1358. Grid.SetRow(Titles[obj[1].Id], 0);
  1359. Grid.SetColumn(Titles[obj[1].Id], 0);
  1360. Grid.SetRow(Titles[obj[2].Id], 0);
  1361. Grid.SetColumn(Titles[obj[2].Id], 0);
  1362. Grid.SetRow(Titles[obj[3].Id], 0);
  1363. Grid.SetColumn(Titles[obj[3].Id], 0);
  1364. Grid.SetRow(Titles[obj[4].Id], 0);
  1365. Grid.SetColumn(Titles[obj[4].Id], 0);
  1366. Grid.SetRow(Titles[obj[5].Id], 0);
  1367. Grid.SetColumn(Titles[obj[5].Id], 0);
  1368. Grid.SetRow(Titles[obj[6].Id], 0);
  1369. Grid.SetColumn(Titles[obj[6].Id], 0);
  1370. Grid.SetRow(Titles[obj[7].Id], 0);
  1371. Grid.SetColumn(Titles[obj[7].Id], 0);
  1372. Grid.SetRow(Titles[obj[8].Id], 0);
  1373. Grid.SetColumn(Titles[obj[8].Id], 0);
  1374. Grid.SetRow(Titles[obj[9].Id], 0);
  1375. Grid.SetColumn(Titles[obj[9].Id], 0);
  1376. Grid.SetRow(Titles[obj[10].Id], 0);
  1377. Grid.SetColumn(Titles[obj[10].Id], 0);
  1378. Grid.SetRow(Titles[obj[11].Id], 0);
  1379. Grid.SetColumn(Titles[obj[11].Id], 0);
  1380. Grid.SetRow(Titles[obj[12].Id], 0);
  1381. Grid.SetColumn(Titles[obj[12].Id], 0);
  1382. Grid.SetRow(Titles[obj[13].Id], 0);
  1383. Grid.SetColumn(Titles[obj[13].Id], 0);
  1384. Grid.SetRow(Titles[obj[14].Id], 0);
  1385. Grid.SetColumn(Titles[obj[14].Id], 0);
  1386. Grid.SetRow(Titles[obj[15].Id], 0);
  1387. Grid.SetColumn(Titles[obj[15].Id], 0);
  1388. Grid.SetRow(Titles[obj[16].Id], 0);
  1389. Grid.SetColumn(Titles[obj[16].Id], 0);
  1390. Grid.SetRow(Titles[obj[17].Id], 0);
  1391. Grid.SetColumn(Titles[obj[17].Id], 0);
  1392. Grid.SetRow(Titles[obj[18].Id], 0);
  1393. Grid.SetColumn(Titles[obj[18].Id], 0);
  1394. Grid.SetRow(Titles[obj[19].Id], 0);
  1395. Grid.SetColumn(Titles[obj[19].Id], 0);
  1396. Grid.SetRow(vmRenders[obj[0].Id], 1);
  1397. Grid.SetColumn(vmRenders[obj[0].Id], 0);
  1398. Grid.SetRow(vmRenders[obj[1].Id], 1);
  1399. Grid.SetColumn(vmRenders[obj[1].Id], 0);
  1400. Grid.SetRow(vmRenders[obj[2].Id], 1);
  1401. Grid.SetColumn(vmRenders[obj[2].Id], 0);
  1402. Grid.SetRow(vmRenders[obj[3].Id], 1);
  1403. Grid.SetColumn(vmRenders[obj[3].Id], 0);
  1404. Grid.SetRow(vmRenders[obj[4].Id], 1);
  1405. Grid.SetColumn(vmRenders[obj[4].Id], 0);
  1406. Grid.SetRow(vmRenders[obj[5].Id], 1);
  1407. Grid.SetColumn(vmRenders[obj[5].Id], 0);
  1408. Grid.SetRow(vmRenders[obj[6].Id], 1);
  1409. Grid.SetColumn(vmRenders[obj[6].Id], 0);
  1410. Grid.SetRow(vmRenders[obj[7].Id], 1);
  1411. Grid.SetColumn(vmRenders[obj[7].Id], 0);
  1412. Grid.SetRow(vmRenders[obj[8].Id], 1);
  1413. Grid.SetColumn(vmRenders[obj[8].Id], 0);
  1414. Grid.SetRow(vmRenders[obj[9].Id], 1);
  1415. Grid.SetColumn(vmRenders[obj[9].Id], 0);
  1416. Grid.SetRow(vmRenders[obj[10].Id], 1);
  1417. Grid.SetColumn(vmRenders[obj[10].Id], 0);
  1418. Grid.SetRow(vmRenders[obj[11].Id], 1);
  1419. Grid.SetColumn(vmRenders[obj[11].Id], 0);
  1420. Grid.SetRow(vmRenders[obj[12].Id], 1);
  1421. Grid.SetColumn(vmRenders[obj[12].Id], 0);
  1422. Grid.SetRow(vmRenders[obj[13].Id], 1);
  1423. Grid.SetColumn(vmRenders[obj[13].Id], 0);
  1424. Grid.SetRow(vmRenders[obj[14].Id], 1);
  1425. Grid.SetColumn(vmRenders[obj[14].Id], 0);
  1426. Grid.SetRow(vmRenders[obj[15].Id], 1);
  1427. Grid.SetColumn(vmRenders[obj[15].Id], 0);
  1428. Grid.SetRow(vmRenders[obj[16].Id], 1);
  1429. Grid.SetColumn(vmRenders[obj[16].Id], 0);
  1430. Grid.SetRow(vmRenders[obj[17].Id], 1);
  1431. Grid.SetColumn(vmRenders[obj[17].Id], 0);
  1432. Grid.SetRow(vmRenders[obj[18].Id], 1);
  1433. Grid.SetColumn(vmRenders[obj[18].Id], 0);
  1434. Grid.SetRow(vmRenders[obj[19].Id], 1);
  1435. Grid.SetColumn(vmRenders[obj[19].Id], 0);
  1436. for (int i = 0; i < 20; i++)
  1437. {
  1438. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).HorizontalScrollBar = false;
  1439. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).VerticalScrollBar = false;
  1440. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).AutoFit = true;
  1441. ((Cognex.VisionPro.CogRecordDisplay)((WindowsFormsHost)vmRenders[obj[i].Id]).Child).BackColor = System.Drawing.SystemColors.ActiveCaption;
  1442. }
  1443. break;
  1444. default:
  1445. break;
  1446. }
  1447. }
  1448. /// <summary>
  1449. /// 保存图像(保持你原有逻辑不变,补充 Dispose 兜底,防止压缩分支不释放导致闪退)
  1450. /// </summary>
  1451. private void SaveImage(ProcedureSaveImageModel saveImageModel, ProcedureSaveImagePathModel saveImagePathModel, string path, ICogImage image, Bitmap reimage, bool result, bool isCompress, string imageFileName,bool is3Dmodel)
  1452. {
  1453. if (string.IsNullOrEmpty(path) || string.IsNullOrWhiteSpace(path) || !Path.IsPathRooted(path))
  1454. {
  1455. _eventAggregator.GetEvent<TaskMessageNotification>()
  1456. .Publish(new Models.MessageStruct() { Message = "保存图像路径为无效的路径!", level = MessageLevel.Alarm });
  1457. return;
  1458. }
  1459. Task.Run(() =>
  1460. {
  1461. try
  1462. {
  1463. DateTime now = DateTime.Now;
  1464. //图片名
  1465. string imgName = now.ToString("yyyy-MM-dd HH_mm_ss");
  1466. if (!string.IsNullOrEmpty(imageFileName))
  1467. {
  1468. imgName = imageFileName;
  1469. }
  1470. if (saveImageModel == ProcedureSaveImageModel.Original)
  1471. {
  1472. string Originalpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.bmp";
  1473. if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
  1474. {
  1475. Originalpath = result
  1476. ? $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp"
  1477. : $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1478. }
  1479. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
  1480. {
  1481. if (result)
  1482. Originalpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1483. else
  1484. return;
  1485. }
  1486. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
  1487. {
  1488. if (!result)
  1489. Originalpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1490. else
  1491. return;
  1492. }
  1493. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
  1494. {
  1495. // 当前产品配方名(过滤非法字符)
  1496. string formulaName = _productService.GetCurrentProduct().Name;
  1497. foreach (char c in Path.GetInvalidFileNameChars())
  1498. formulaName = formulaName.Replace(c, '_');
  1499. // 产品SN(过滤非法字符)
  1500. string productSN = _productService.CurrentProductCode;
  1501. foreach (char c in Path.GetInvalidFileNameChars())
  1502. productSN = productSN.Replace(c, '_');
  1503. string resultStr = result ? "OK" : "NG";
  1504. Originalpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\{formulaName}\\{productSN}\\{resultStr}\\{imgName}.bmp";
  1505. }
  1506. if (!Directory.Exists(Path.GetDirectoryName(Originalpath)))
  1507. Directory.CreateDirectory(Path.GetDirectoryName(Originalpath));
  1508. using (CogImageFileBMP _cogImageFileTool = new CogImageFileBMP())
  1509. {
  1510. _cogImageFileTool.Open(Originalpath, CogImageFileModeConstants.Write);
  1511. _cogImageFileTool.Append(image);
  1512. _cogImageFileTool.Close();
  1513. }
  1514. }
  1515. else if (saveImageModel == ProcedureSaveImageModel.Recorded)
  1516. {
  1517. string Recordedpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.bmp";
  1518. if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
  1519. {
  1520. Recordedpath = result
  1521. ? $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp"
  1522. : $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1523. }
  1524. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
  1525. {
  1526. if (result)
  1527. Recordedpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1528. else
  1529. return;
  1530. }
  1531. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
  1532. {
  1533. if (!result)
  1534. Recordedpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1535. else
  1536. return;
  1537. }
  1538. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
  1539. {
  1540. string formulaName = _productService.GetCurrentProduct().Name;
  1541. foreach (char c in Path.GetInvalidFileNameChars())
  1542. formulaName = formulaName.Replace(c, '_');
  1543. string productSN = _productService.CurrentProductCode;
  1544. foreach (char c in Path.GetInvalidFileNameChars())
  1545. productSN = productSN.Replace(c, '_');
  1546. string resultStr = result ? "OK" : "NG";
  1547. Recordedpath = $"{path}\\{now:yyyy-MM}\\{now:MM-dd}\\{formulaName}\\{productSN}\\{resultStr}\\{imgName}.bmp";
  1548. }
  1549. if (!Directory.Exists(Path.GetDirectoryName(Recordedpath)))
  1550. Directory.CreateDirectory(Path.GetDirectoryName(Recordedpath));
  1551. if (isCompress)
  1552. {
  1553. ImageHelper.CompressImage(reimage, Recordedpath, 100);
  1554. }
  1555. else
  1556. {
  1557. reimage.Save(Recordedpath);
  1558. }
  1559. }
  1560. else if (saveImageModel == ProcedureSaveImageModel.OriginalAndRecorded)
  1561. {
  1562. string Originalpath = "";
  1563. if (is3Dmodel==true)
  1564. {
  1565. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.idb";
  1566. }
  1567. else
  1568. {
  1569. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.bmp";
  1570. }
  1571. string Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.bmp";
  1572. if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_OkNG_Time)
  1573. {
  1574. if (result)
  1575. {
  1576. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1577. Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1578. }
  1579. else
  1580. {
  1581. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1582. Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1583. }
  1584. }
  1585. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ok_Time)
  1586. {
  1587. if (result)
  1588. {
  1589. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1590. Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\OK\\{imgName}.bmp";
  1591. }
  1592. else
  1593. {
  1594. return;
  1595. }
  1596. }
  1597. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Ng_Time)
  1598. {
  1599. if (!result)
  1600. {
  1601. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1602. Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\NG\\{imgName}.bmp";
  1603. }
  1604. else
  1605. {
  1606. return;
  1607. }
  1608. }
  1609. else if (saveImagePathModel == ProcedureSaveImagePathModel.Month_Day_Formula_ProductSN_Time)
  1610. {
  1611. string formulaName = _productService.GetCurrentProduct().Name;
  1612. foreach (char c in Path.GetInvalidFileNameChars())
  1613. formulaName = formulaName.Replace(c, '_');
  1614. string productSN = _productService.CurrentProductCode;
  1615. if(productSN!=null )
  1616. {
  1617. foreach (char c in Path.GetInvalidFileNameChars())
  1618. productSN = productSN.Replace(c, '_');
  1619. }
  1620. string resultStr = result ? "OK" : "NG";
  1621. if (is3Dmodel == true)
  1622. {
  1623. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{formulaName}\\{productSN}\\{resultStr}\\{imgName}.idb";
  1624. //Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.idb";
  1625. }
  1626. else
  1627. {
  1628. Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{formulaName}\\{productSN}\\{resultStr}\\{imgName}.bmp";
  1629. //Originalpath = $"{path}\\Original\\{now:yyyy-MM}\\{now:MM-dd}\\{imgName}.bmp";
  1630. }
  1631. Recordedpath = $"{path}\\Recored\\{now:yyyy-MM}\\{now:MM-dd}\\{formulaName}\\{productSN}\\{resultStr}\\{imgName}.bmp";
  1632. }
  1633. if (!Directory.Exists(Path.GetDirectoryName(Originalpath)))
  1634. Directory.CreateDirectory(Path.GetDirectoryName(Originalpath));
  1635. //using (CogImageFileBMP _cogImageFileTool = new CogImageFileBMP())
  1636. //{
  1637. // _cogImageFileTool.Open(Originalpath, CogImageFileModeConstants.Write);
  1638. // _cogImageFileTool.Append(image);
  1639. // _cogImageFileTool.Close();
  1640. //}
  1641. using (CogImageFile _cogImageFileTool = new CogImageFile())
  1642. {
  1643. _cogImageFileTool.Open(Originalpath, CogImageFileModeConstants.Write);
  1644. _cogImageFileTool.Append(image);
  1645. _cogImageFileTool.Close();
  1646. }
  1647. if (!Directory.Exists(Path.GetDirectoryName(Recordedpath)))
  1648. Directory.CreateDirectory(Path.GetDirectoryName(Recordedpath));
  1649. if (isCompress)
  1650. {
  1651. ImageHelper.CompressImage(reimage, Recordedpath, 100);
  1652. }
  1653. else
  1654. {
  1655. reimage.Save(Recordedpath);
  1656. }
  1657. }
  1658. }
  1659. catch (Exception ex)
  1660. {
  1661. LogHelper.WriteLogError("保存流程运行结果的图片时出错!", ex);
  1662. }
  1663. finally
  1664. {
  1665. // ======================= 【关键修复】无论是否压缩都释放Bitmap =======================
  1666. try { reimage?.Dispose(); } catch { }
  1667. }
  1668. });
  1669. }
  1670. private void ProductChanged(ProductModel product)
  1671. {
  1672. this.gridRender.Dispatcher.BeginInvoke(new Action(() =>
  1673. {
  1674. foreach (var item in vmRenders)
  1675. {
  1676. try
  1677. {
  1678. if (((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Tag != null)
  1679. {
  1680. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).Image = null;
  1681. ((Cognex.VisionPro.CogRecordDisplay)item.Value.Child).StaticGraphics.Clear();
  1682. break;
  1683. }
  1684. }
  1685. catch (Exception ex)
  1686. {
  1687. LogHelper.WriteLogError(Lang.切换产品清除主页图像时出错, ex);
  1688. }
  1689. }
  1690. }));
  1691. }
  1692. }
  1693. }