Пример #1
0
		public Page()
		{
			InitializeComponent();
			Children.Add (Log.Standard);
			Canvas.SetZIndex (Log.Standard, 100);

			Border b = new Border ();
			var stack = new StackPanel ();
			stack.Children.Add (CreateColoredBorder (Colors.Red));
			stack.Children.Add (CreateColoredBorder (Colors.Blue));
			stack.Children.Add (CreateColoredBorder (Colors.Green));
			stack.HorizontalAlignment = HorizontalAlignment.Right;
			b.Width = 50;
			b.Background = new SolidColorBrush (Colors.Yellow);
			stack.Width = 50;
			stack.Height = 30;
			b.Child = stack;
			Children.Add (b);
			
			stack.Loaded += (sender, args) => { 
				stack.Log ("loaded");
			};

			stack.SizeChanged += (sender, args) => { 
				FrameworkElement fe = (FrameworkElement)stack.Children[0];
				Rect slot = LayoutInformation.GetLayoutSlot (fe);
				stack.Log ("child 0 slot = " + slot.ToString ());
				stack.Log ("updated");
				fe.Height = 5;
				fe.Log ("DesiredSize = " + fe.DesiredSize.ToString ());
				fe.SizeChanged += (sender1, args1) => {
					fe.Log ("child 0 slot = " + LayoutInformation.GetLayoutSlot ((FrameworkElement)sender1));
					fe.Log ("DesiredSize = " + fe.DesiredSize.ToString ());
					fe.Log ("updated");
				};
			};
		}