/// <summary> /// Property changed message recieved /// </summary> /// <param name="obj">Message property changed</param> private void PropertyChanged(PropertyChangedMsg obj) { var selectedRegisteredProperties = registeredProperties.Where(x => x.Value.PropertyName == obj.PropertyName && x.Value.PropertyParentObjectType == obj.PropertyParentObjectType); if (selectedRegisteredProperties == null) { return; } var destinationProperties = selectedRegisteredProperties.Select(x => x.Key)?.ToList(); var targetProperty = selectedRegisteredProperties.Select(x => x.Value)?.ToList(); for (int i = 0; i < destinationProperties.Count; i++) { object value = obj.PropertyValue; if (!string.IsNullOrEmpty(targetProperty[i].PropertyInnerPropertyName)) { value = value.GetType().GetProperty(targetProperty[i].PropertyInnerPropertyName).GetValue(value); } if (destinationProperties[i].Converter != null) { value = destinationProperties[i].Converter.Convert(value, destinationProperties[i].ConverterTargetType, destinationProperties[i].ConverterParameter, destinationProperties[i].ConverterLanguage); } destinationProperties[i].DestinationObject.SetValue(destinationProperties[i].DestinationProperty, value); } }
private void ReceiveMessage(PropertyChangedMsg msg) { string lsender = msg.Sender; string lProp = msg.PropName; string lmsg = msg.Msg; switch (lProp) { case "VD": LoadCharts(); break; case "HD": LoadCharts(); break; case "ChartDataUpdate": LoadCharts(); break; default: break; } }