Пример #1
0
        void UpdateUnnamedObjectAdorner()
        {
            AdornerLayer layr         = AdornerLayer.GetAdornerLayer(this);
            bool         FoundAdorner = false;

            if (layr != null)
            {
                Adorner[] adorners = layr.GetAdorners(this);
                if (adorners != null)
                {
                    foreach (Adorner adr in adorners)
                    {
                        UnnamedObjectAdorner uoa = adr as UnnamedObjectAdorner;
                        if (uoa != null)
                        {
                            //update all properties from attributes.
                            FoundAdorner = true;
                            SetUnnamedObjectAdornerProperties(uoa);
                        }
                    }
                    if (!FoundAdorner)
                    {
                        UnnamedObjectAdorner adorner = new UnnamedObjectAdorner(this);
                        SetUnnamedObjectAdornerProperties(adorner);
                        layr.Add(adorner);
                    }
                }
            }
        }
Пример #2
0
 void SetUnnamedObjectAdornerProperties(UnnamedObjectAdorner adorner)
 {
     foreach (PropertyInfo prop in adorner.GetType().GetProperties())
     {
         foreach (PropertyItem item in this.Attributes)
         {
             if (item.PropertyName == prop.Name)
             {
                 //item.Value;
                 if (prop.PropertyType == typeof(int))
                 {
                     int i = 0;
                     int.TryParse(item.Value, out i);
                     prop.SetValue(adorner, i, null);
                 }
                 else
                 {
                     prop.SetValue(adorner, item.Value, null);
                 }
                 break;
             }
         }
     }
 }