void pgec_ContentChange(object sender, EvaluationCtrlTextChangeEventArgs e) { var iuc = sender as PropertyGridEvaluationCtrl; XElement xe = iuc.EvaluationContent; string pName = xe.Name.ToString(); PropertyInfo pi = _ReadUIElement.GetType().GetProperty(pName); string _PropertyName = iuc.PropertyName; if (null == pi || _PropertyName.IsNullOrEmpty()) { pi = _ReadUIElement.GetType().GetProperty(_PropertyName); if (null == pi) { return; } } var pt = pi.PropertyType; if (pt.IsEnum) { pi.SetValue(_ReadUIElement, Enum.Parse(pi.PropertyType, string.Format("{0}", xe.Value), true), null); } else { pi.SetValue(_ReadUIElement, Convert.ChangeType(xe.Value, pt, null), null); } var ecf = new EvaluationCtrlLostFocusEventArgs(sender, _PropertyName, xe.Value.ToString(), this.CurrentSelectedControlName); _PropertyLostFocusMethod(this, ecf); }
void _TextChangeMethod(object sender, EvaluationCtrlTextChangeEventArgs e) { if (null == ContentChange) { return; } ContentChange(this, e); }