Ejemplo n.º 1
0
        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);
 }