private static ControlInfoJson.DynamicPropertyJson GetDynamicPropertyEntry(ControlState state, string propName, string expression) { var property = new ControlInfoJson.DynamicPropertyJson(); property.PropertyName = propName; DynamicPropertyState propState = null; if (state.DynamicProperties.ToDictionary(prop => prop.PropertyName).TryGetValue(propName, out propState)) { // The DynamicProperties may contain items without an existing corresponding property leading to empty property variables if (propState.Property != null) { property.Rule = new ControlInfoJson.RuleEntry() { InvariantScript = expression, Property = propName, ExtensionData = propState.Property.ExtensionData, NameMap = propState.Property.NameMap, RuleProviderType = propState.Property.RuleProviderType }; property.ExtensionData = propState.ExtensionData; } } else { property.Rule = new ControlInfoJson.RuleEntry() { InvariantScript = expression, RuleProviderType = "Unknown" }; } return(property); }
private static ControlInfoJson.DynamicPropertyJson GetDynamicPropertyEntry(ControlState state, string propName, string expression) { var property = new ControlInfoJson.DynamicPropertyJson(); property.PropertyName = propName; DynamicPropertyState propState = null; if (state.DynamicProperties.ToDictionary(prop => prop.PropertyName).TryGetValue(propName, out propState)) { property.Rule = new ControlInfoJson.RuleEntry() { InvariantScript = expression, Property = propName, ExtensionData = propState.Property.ExtensionData, NameMap = propState.Property.NameMap, RuleProviderType = propState.Property.RuleProviderType }; property.ExtensionData = propState.ExtensionData; } else { property.Rule = new ControlInfoJson.RuleEntry() { InvariantScript = expression, RuleProviderType = "Unknown" }; } return(property); }
private static (PropertyNode prop, DynamicPropertyState state) SplitDynamicProperty(ControlInfoJson.DynamicPropertyJson dynamicProperty) { var(prop, propertyState) = SplitProperty(dynamicProperty.Rule); var state = new DynamicPropertyState() { PropertyName = propertyState.PropertyName, Property = propertyState, ExtensionData = dynamicProperty.ExtensionData }; return(prop, state); }