Esempio n. 1
0
		internal void Initialize(Control control)
		{
			if (control == null || Setters.Count > 0)
				return;

			foreach (var setter in xmlNode.ChildNodes.OfType<XmlNode>().Where(x => x.LocalName == "Setter"))
			{
				var propertyName = setter.Attributes["Property"];
				if (propertyName != null && !string.IsNullOrEmpty(propertyName.Value))
				{
					var dp = control.GetDependencyProperty(propertyName.Value);
					if (dp == null)
						continue;

					var valueAttr = setter.Attributes["Value"];
					if (valueAttr == null || string.IsNullOrEmpty(valueAttr.Value))
						continue;

					var value = LoadValue(valueAttr.Value, dp.PropType);

					Setters.Add(dp, value);
				}
			}
		}
 public void AddChild(Control child)
 {
     Child = child;
 }
 public ContentControl(Control child)
 {
     Child = child;
 }
Esempio n. 4
0
		internal virtual void InvalidateLayout(Control source)
		{
			Size = null;
			Location = null;

			if (this != source)
				return;

			// Now let's invalidate the entire branch of this tree so we can properly recalculate/redraw
			var ctrl = Parent;
			while (ctrl != null)
			{
				ctrl.InvalidateLayout(this);
				ctrl = ctrl.Parent;
			}
		}
Esempio n. 5
0
		public void AddControl(Control control)
		{
			controls.Add(control);
		}
Esempio n. 6
0
		internal void Apply(Control control)
		{
			foreach (var key in Setters.Keys)
				TargetType.GetProperty(key.Name).SetValue(control, Setters[key], null);
		}
Esempio n. 7
0
        internal override void InvalidateLayout(Control source)
        {
            base.InvalidateLayout(source);

            Child.InvalidateLayout(source);
        }
Esempio n. 8
0
 public void AddChild(Control child)
 {
     Child = child;
     child.Parent = this;
 }
Esempio n. 9
0
 public ContentControl(Control child)
 {
     AddChild(child);
 }