public ProxyTemplateItemModel(ProxyTemplateItemModel p) { _def = new TemplateDefinition() { OverlayBlocks = p._def.OverlayBlocks, TextBlocks = p._def.TextBlocks, Matches = p._def.Matches, rootPath = p._def.rootPath }; }
public void UpdateProxyTemplate() { var tempCard = GetTempCard(); var properties = tempCard.GetProxyMappings(); ProxyTemplateItemModel activeTemplate = ViewModelLocator.ProxyTabViewModel.Templates.First(x => x._def.defaultTemplate == true); foreach (var template in ViewModelLocator.ProxyTabViewModel.Templates) { bool isValidTemplate = true; foreach (var match in template._def.Matches) { if (!properties.ContainsKey(match.Name) || properties[match.Name] != match.Value) { isValidTemplate = false; break; } } if (isValidTemplate == true) { activeTemplate = template; break; } } BaseImage = Path.Combine(activeTemplate._def.rootPath, activeTemplate._def.src); BitmapImage image = new BitmapImage(new Uri(BaseImage)); BaseWidth = image.PixelWidth; BaseHeight = image.PixelHeight; ActiveOverlayLayers = new ObservableCollection <ProxyOverlayItemModel>(activeTemplate._def.GetOverLayBlocks(properties).Select(x => ViewModelLocator.ProxyTabViewModel.OverlayBlocks.First(y => y.Name == x.Block))); ActiveTextLayers = new ObservableCollection <ProxyTextBlockItemModel>(activeTemplate._def.GetTextBlocks(properties).Select(x => new ProxyTextBlockItemModel(x) { Property = GetProperties.First(y => y.Name == x.NestedProperties.First().Name) })); RaisePropertyChanged(""); }