Exemplo n.º 1
0
        public void LogicalParentTest8()
        {
            Canvas canvas = (Canvas)XamlReader.Load(@"
<Canvas xmlns=""http://schemas.microsoft.com/client/2007"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
  <Canvas.Resources>
    <Style TargetType=""Button"" x:Key=""ButtonStyle"">
      <Setter Property=""Template"">
        <Setter.Value>
          <ControlTemplate TargetType=""Button"">
	    <ContentPresenter Content=""{TemplateBinding Content}"" />
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </Canvas.Resources>
  <Button Style=""{StaticResource ButtonStyle}"" />
</Canvas>
");

            ConcreteFrameworkElement c = new ConcreteFrameworkElement();

            Button b = (Button)canvas.Children[0];

            b.ApplyTemplate();

            ContentPresenter cp = (ContentPresenter)VisualTreeHelper.GetChild(b, 0);

            b.Content = c;

            Assert.AreEqual(c, cp.Content, "1");
            Assert.AreEqual(c, b.Content, "2");
            Assert.AreEqual(b, c.Parent, "3");
        }
Exemplo n.º 2
0
        public void LogicalParentTest7()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            ContentControl           contentControl   = new ContentControl();
            ContentPresenter         contentPresenter = new ContentPresenter();

            contentControl.Content   = c;
            contentPresenter.Content = c;

            Assert.AreEqual(contentControl, c.Parent, "1");
            Assert.AreEqual(c, contentControl.Content, "2");
            Assert.AreEqual(c, contentPresenter.Content, "3");

            c = new ConcreteFrameworkElement();
            contentControl   = new ContentControl();
            contentPresenter = new ContentPresenter();

            contentPresenter.Content = c;

            Assert.IsNull(c.Parent, "4");

            contentControl.Content = c;

            Assert.AreEqual(contentControl, c.Parent, "5");
            Assert.AreEqual(c, contentControl.Content, "6");
            Assert.AreEqual(c, contentPresenter.Content, "7");
        }
Exemplo n.º 3
0
        public void LogicalParentTest3()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            ContentControl           contentControl = new ContentControl();

            contentControl.Content = c;

            Assert.AreEqual(contentControl, c.Parent);
        }
Exemplo n.º 4
0
		public void LogicalParentTest1 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			Canvas canvas = new Canvas ();

			canvas.Children.Add (c);

			Assert.AreEqual (canvas, c.Parent);
		}
Exemplo n.º 5
0
        public void LogicalParentTest1()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            Canvas canvas = new Canvas();

            canvas.Children.Add(c);

            Assert.AreEqual(canvas, c.Parent);
        }
Exemplo n.º 6
0
        public void CustomPropertyParent()
        {
            ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement();
            ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement();

            cf1.LocalContent = cf2;

            Assert.IsNull(cf2.Parent, "1");
        }
Exemplo n.º 7
0
        public void UserControlContentParent()
        {
            UserControlPoker         uc = new UserControlPoker();
            ConcreteFrameworkElement cf = new ConcreteFrameworkElement();

            uc.SetContent(cf);

            Assert.AreEqual(uc, cf.Parent, "1");
        }
Exemplo n.º 8
0
        public void CustomPropertyFindName()
        {
            ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement();
            ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement();

            cf2.Name = "MyName";

            cf1.LocalContent = cf2;

            Assert.IsNull(cf1.FindName("MyName"), "1");
        }
Exemplo n.º 9
0
        public void BuiltinPropertyFindName()
        {
            Canvas c = new Canvas();
            ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement();

            cf1.Name = "MyName";

            c.Children.Add(cf1);

            Assert.IsNull(c.FindName("MyName"), "1");
        }
Exemplo n.º 10
0
        public void LogicalParentTest5()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            ContentControl           contentControl = new ContentControl();
            Canvas canvas = new Canvas();

            contentControl.Content = c;
            canvas.Children.Add(c);

            Assert.AreEqual(contentControl, c.Parent, "1");
            Assert.AreEqual(1, canvas.Children.Count, "2");
        }
Exemplo n.º 11
0
        public void LogicalParentTest4()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            ContentControl           contentControl1 = new ContentControl();
            ContentControl           contentControl2 = new ContentControl();

            contentControl1.Content = c;
            Assert.Throws <InvalidOperationException> (delegate { contentControl2.Content = c; }, "1");

            Assert.AreEqual(c, contentControl1.Content, "2");
            Assert.AreEqual(c, contentControl2.Content, "3");

            Assert.AreEqual(contentControl1, c.Parent, "4");
        }
Exemplo n.º 12
0
        public void LogicalParentTest2()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            Canvas canvas1             = new Canvas();
            Canvas canvas2             = new Canvas();

            canvas1.Children.Add(c);
            Assert.Throws <InvalidOperationException> (delegate { canvas2.Children.Add(c); }, "1");

            Assert.AreEqual(canvas1, c.Parent, "2");

            Assert.AreEqual(1, canvas1.Children.Count, "3");
            Assert.AreEqual(0, canvas2.Children.Count, "4");
        }
Exemplo n.º 13
0
        public void LogicalParentTest6()
        {
            ConcreteFrameworkElement c = new ConcreteFrameworkElement();
            ContentControl           contentControl = new ContentControl();
            Canvas canvas = new Canvas();

            canvas.Children.Add(c);

            Assert.Throws <ArgumentException> (delegate { contentControl.Content = c; });

            Assert.AreEqual(canvas, c.Parent, "1");
            Assert.AreEqual(1, canvas.Children.Count, "2");
            Assert.IsNull(contentControl.Content, "3");
        }
Exemplo n.º 14
0
		public void LogicalParentTest2 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			Canvas canvas1 = new Canvas ();
			Canvas canvas2 = new Canvas ();

			canvas1.Children.Add (c);
			Assert.Throws<InvalidOperationException> (delegate { canvas2.Children.Add (c); }, "1");

			Assert.AreEqual (canvas1, c.Parent, "2");

			Assert.AreEqual (1, canvas1.Children.Count, "3");
			Assert.AreEqual (0, canvas2.Children.Count, "4");
		}
Exemplo n.º 15
0
        public void ContentControlOldNewContent()
        {
            ContentControlPoker      cp  = new ContentControlPoker();
            ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement();
            ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement();

            cp.Content = cf1;

            cp.getParents = true;

            cp.Content = cf2;

            Assert.IsNull(cp.oldParent, "1");
            Assert.AreEqual(cp, cp.newParent, "2");
        }
Exemplo n.º 16
0
        public void BorderChild()
        {
            Border b1 = new Border();
            Border b2 = new Border();
            ConcreteFrameworkElement cf = new ConcreteFrameworkElement();

            b1.Child = cf;

            Assert.AreEqual(b1, cf.Parent, "1");

            Assert.Throws <ArgumentException> (delegate { b2.Child = cf; }, "2");

            Assert.AreEqual(b1, cf.Parent, "2");

            Assert.AreEqual(cf, b1.Child, "3");
            Assert.AreEqual(cf, b1.Child, "4");
        }
Exemplo n.º 17
0
		public void LogicalParentTest6 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			ContentControl contentControl = new ContentControl ();
			Canvas canvas = new Canvas ();

			canvas.Children.Add (c);

			Assert.Throws<ArgumentException> ( delegate { contentControl.Content = c; } );

			Assert.AreEqual (canvas, c.Parent, "1");
			Assert.AreEqual (1, canvas.Children.Count, "2");
			Assert.IsNull (contentControl.Content, "3");
		}
Exemplo n.º 18
0
		public void LogicalParentTest4 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			ContentControl contentControl1 = new ContentControl ();
			ContentControl contentControl2 = new ContentControl ();

			contentControl1.Content = c;
			Assert.Throws<InvalidOperationException> (delegate { contentControl2.Content = c; }, "1");

			Assert.AreEqual (c, contentControl1.Content, "2");
			Assert.AreEqual (c, contentControl2.Content, "3");

			Assert.AreEqual (contentControl1, c.Parent, "4");
		}
Exemplo n.º 19
0
		public void LogicalParentTest5 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			ContentControl contentControl = new ContentControl ();
			Canvas canvas = new Canvas ();

			contentControl.Content = c;
			canvas.Children.Add (c);

			Assert.AreEqual (contentControl, c.Parent, "1");
			Assert.AreEqual (1, canvas.Children.Count, "2");
		}
Exemplo n.º 20
0
		public void ArrangeOverride3 ()
		{
			bool loaded = false;
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			c.Loaded += delegate { loaded = true; };
			TestPanel.Children.Add (c);

			c.Arrange (new Rect (0, 0, 100, 100));
			Assert.IsFalse (c.Arranged, "#1");

			c.InvalidateArrange ();
			c.Arrange (new Rect (0, 0, 100, 100));
			Assert.IsFalse (c.Arranged, "#2");

			EnqueueConditional (() => loaded, "#3");
			Enqueue (() => { Assert.IsTrue (c.Arranged, "#4"); });
			EnqueueTestComplete ();
		}
Exemplo n.º 21
0
		public void MeasureOverride ()
		{
			Border b = new Border ();
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement ();
			b.Child = fe;
			Size result = fe.MeasureOverride_ (new Size (0, 0));
			Assert.AreEqual (new Size (0, 0), result, "0,0");
			Assert.AreEqual (new Size (0, 0), b.DesiredSize);
			result = fe.MeasureOverride_ (Size.Empty);
			Assert.AreEqual (new Size (0, 0), result, "Empty");
			Assert.AreEqual (new Size (0, 0), b.DesiredSize);
			result = fe.MeasureOverride_ (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
			Assert.AreEqual (new Size (0, 0), result, "Infinity");
			result = fe.MeasureOverride_ (new Size (10, 10));
			Assert.AreEqual (new Size (0, 0), b.DesiredSize);
			Assert.AreEqual (new Size (0, 0), result, "(10,10)");
			fe.Width = 10;
			fe.Height = 10;
			//result = fe.MeasureOverride_ (new Size (100, 100));
			b.Measure (new Size (100, 100));
			Assert.AreEqual (new Size (0, 0), result, "100 with 10");
			Assert.AreEqual (new Size (10,10), b.DesiredSize, "b desired");
			Assert.AreEqual (new Size (10,10), fe.DesiredSize, "fe desired");
			result = fe.MeasureOverride_ (new Size (Double.PositiveInfinity, Double.PositiveInfinity));
			Assert.AreEqual (new Size (0, 0), result, "Infinity");
		}
Exemplo n.º 22
0
		public void InvalidateMeasureRaisesLayoutUpdated()
		{
			int count = 0;
			var c = new ConcreteFrameworkElement ();
			c.LayoutUpdated += (o, e) =>  count++;
			CreateAsyncTest (c,
				() => count = 0,
				() => c.InvalidateMeasure(),
				() => Assert.AreEqual(1, count, "#1"),
				() => c.InvalidateMeasure(),
				() => Assert.AreEqual(2, count, "#2")
			);
		}
Exemplo n.º 23
0
		public void SetUnsetClear_Tag ()
		{
			var obj = new object ();
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement () {
					Tag = obj
				};
			fe.SetValue(FrameworkElement.TagProperty, DependencyProperty.UnsetValue);			
			Assert.IsNull (fe.Tag, "Tag is not null (the default value)");
			fe.Tag = 3;
			Assert.AreEqual (3, fe.Tag, "Tag can change though");
			fe.SetValue(FrameworkElement.TagProperty, DependencyProperty.UnsetValue);			
			Assert.IsNull (fe.Tag, "Tag is null");
		}
Exemplo n.º 24
0
		public void LogicalParentTest9 ()
		{
			Canvas canvas = (Canvas)XamlReader.Load (@"
<Canvas xmlns=""http://schemas.microsoft.com/client/2007"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
  <Button />
</Canvas>
");

			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			
			Button b = (Button)canvas.Children[0];

			b.ApplyTemplate ();

			FrameworkElement b_child = (FrameworkElement)VisualTreeHelper.GetChild (b, 0);

			Assert.IsNull (b_child.Parent, "1");
		}
Exemplo n.º 25
0
		public void BuiltinPropertyFindName ()
		{
			Canvas c = new Canvas ();
			ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement ();

			cf1.Name = "MyName";

			c.Children.Add (cf1);

			Assert.IsNull (c.FindName ("MyName"), "1");
		}
Exemplo n.º 26
0
		public void CursorTest ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			Assert.IsNull (c.Cursor, "#1");
			c.Cursor = global::System.Windows.Input.Cursors.Arrow;
			Assert.AreEqual (c.Cursor, global::System.Windows.Input.Cursors.Arrow, "#2");
			Assert.IsTrue (c.Cursor == global::System.Windows.Input.Cursors.Arrow, "#3");
			c.Cursor = null;
			Assert.AreEqual (null, c.Cursor, "#4");
		}
Exemplo n.º 27
0
		public void BorderChild ()
		{
			Border b1 = new Border ();
			Border b2 = new Border ();
			ConcreteFrameworkElement cf = new ConcreteFrameworkElement ();

			b1.Child = cf;

			Assert.AreEqual (b1, cf.Parent, "1");

			Assert.Throws<ArgumentException> (delegate { b2.Child = cf; }, "2");

			Assert.AreEqual (b1, cf.Parent, "2");

			Assert.AreEqual (cf, b1.Child, "3");
			Assert.AreEqual (cf, b1.Child, "4");
		}
Exemplo n.º 28
0
		public void Loaded_styledChildOfNonStyledParent_nonStyledSiblingBefore ()
		{
			Canvas c = new Canvas ();
			Button b = new Button ();
			ConcreteFrameworkElement cfe = new ConcreteFrameworkElement ();

			c.Children.Add (cfe);
			c.Children.Add (b);

			bool b_loaded = false;
			bool b_loaded_sync = false;
			bool c_loaded = false;
			bool c_loaded_sync = false;
			bool b_loaded_before_sibling = false;
			bool cfe_loaded = false;
			bool cfe_loaded_sync = false;

			cfe.Loaded += (o, e) => cfe_loaded = true;
			b.Loaded += (o, e) => { b_loaded = true; b_loaded_before_sibling = !cfe_loaded; };
			c.Loaded += (o, e) => c_loaded = true;
			Enqueue (() => { TestPanel.Children.Add (c);
					 b_loaded_sync = b_loaded;
					 c_loaded_sync = c_loaded;
					 cfe_loaded_sync = cfe_loaded;
				} );
			EnqueueConditional (() => b_loaded && !b_loaded_sync, "1");
			EnqueueConditional (() => cfe_loaded && !cfe_loaded_sync, "2");
			EnqueueConditional (() => c_loaded && !c_loaded_sync, "3");
			EnqueueConditional (() => !b_loaded_before_sibling, "4");

			EnqueueTestComplete ();
		}
Exemplo n.º 29
0
		public void Loaded_nonStyled ()
		{
			bool loaded = false;
			ConcreteFrameworkElement element = new ConcreteFrameworkElement ();
			element.Loaded += (o, e) => loaded = true;
			Enqueue (() => TestPanel.Children.Add (element));
			EnqueueConditional (() => loaded );
			EnqueueTestComplete ();
		}
Exemplo n.º 30
0
		public void InvalidValues()
		{
			ConcreteFrameworkElement f = new ConcreteFrameworkElement ();
			Assert.Throws<Exception>(delegate {
				f.Language = null;
			}, "#1"); // Fails in Silverlight 3 (got System.Exception)
			Assert.Throws<Exception>(delegate {
				f.SetValue (FrameworkElement.LanguageProperty, null);
			}, "#2");
		}
Exemplo n.º 31
0
		public void LogicalParentTest7 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			ContentControl contentControl = new ContentControl ();
			ContentPresenter contentPresenter = new ContentPresenter ();

			contentControl.Content = c;
			contentPresenter.Content = c;

			Assert.AreEqual (contentControl, c.Parent, "1");
			Assert.AreEqual (c, contentControl.Content, "2");
			Assert.AreEqual (c, contentPresenter.Content, "3");

			c = new ConcreteFrameworkElement ();
			contentControl = new ContentControl ();
			contentPresenter = new ContentPresenter ();

			contentPresenter.Content = c;

			Assert.IsNull (c.Parent, "4");

			contentControl.Content = c;

			Assert.AreEqual (contentControl, c.Parent, "5");
			Assert.AreEqual (c, contentControl.Content, "6");
			Assert.AreEqual (c, contentPresenter.Content, "7");
		}
Exemplo n.º 32
0
		public void UserControlContentParent ()
		{
			UserControlPoker uc = new UserControlPoker ();
			ConcreteFrameworkElement cf = new ConcreteFrameworkElement ();

			uc.SetContent (cf);

			Assert.AreEqual (uc, cf.Parent, "1");
		}
Exemplo n.º 33
0
		public void LogicalParentTest8 ()
		{
			Canvas canvas = (Canvas)XamlReader.Load (@"
<Canvas xmlns=""http://schemas.microsoft.com/client/2007"" xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
  <Canvas.Resources>
    <Style TargetType=""Button"" x:Key=""ButtonStyle"">
      <Setter Property=""Template"">
        <Setter.Value>
          <ControlTemplate TargetType=""Button"">
	    <ContentPresenter Content=""{TemplateBinding Content}"" />
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </Canvas.Resources>
  <Button Style=""{StaticResource ButtonStyle}"" />
</Canvas>
");

			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			
			Button b = (Button)canvas.Children[0];

			b.ApplyTemplate ();

			ContentPresenter cp = (ContentPresenter)VisualTreeHelper.GetChild (b, 0);

			b.Content = c;

			Assert.AreEqual (c, cp.Content, "1");
			Assert.AreEqual (c, b.Content, "2");
			Assert.AreEqual (b, c.Parent, "3");
		}
Exemplo n.º 34
0
		public void InvalidateMeasure ()
		{
			bool loaded = false;
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			c.Loaded += delegate { loaded = true; };
			TestPanel.Children.Add (c);
			EnqueueConditional (() => loaded, "#1");
			EnqueueConditional (() => c.Measured, "#2");
			EnqueueConditional (() => c.Arranged, "#3");
			Enqueue (() => loaded = c.Arranged = c.Measured = c.Templated = false);
			Enqueue (() => c.InvalidateMeasure ());
			EnqueueConditional (() => c.Measured, "#4");
			EnqueueConditional (() => c.Arranged, "#5");
			EnqueueTestComplete ();
		}
Exemplo n.º 35
0
		public void CustomPropertyParent ()
		{
			ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement ();
			ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement ();

			cf1.LocalContent = cf2;

			Assert.IsNull (cf2.Parent, "1");
		}
Exemplo n.º 36
0
		public void SetBinding ()
		{
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement ();
			Assert.Throws<ArgumentNullException> (delegate {
				fe.SetBinding (null, null);
			}, "SetBinding(null,null)");
			Assert.Throws<ArgumentNullException> (delegate {
				fe.SetBinding (FrameworkElement.ActualHeightProperty, null);
			}, "SetBinding(DP,null)");
		}
Exemplo n.º 37
0
		public void CustomPropertyFindName ()
		{
			ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement ();
			ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement ();

			cf2.Name = "MyName";

			cf1.LocalContent = cf2;

			Assert.IsNull (cf1.FindName ("MyName"), "1");
		}
Exemplo n.º 38
0
		public void ArrangeOverride ()
		{
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement ();
			Size result = fe.ArrangeOverride_ (new Size (0, 0));
			Assert.AreEqual (new Size (0, 0), result, "0,0");
			result = fe.MeasureOverride_ (Size.Empty);
			Assert.AreEqual (new Size (0, 0), result, "Empty");
		}
Exemplo n.º 39
0
		public void ContentControlOldNewContent ()
		{
			ContentControlPoker cp = new ContentControlPoker ();
			ConcreteFrameworkElement cf1 = new ConcreteFrameworkElement ();
			ConcreteFrameworkElement cf2 = new ConcreteFrameworkElement ();

			cp.Content = cf1;

			cp.getParents = true;

			cp.Content = cf2;

			Assert.IsNull (cp.oldParent, "1");
			Assert.AreEqual (cp, cp.newParent, "2");
		}
Exemplo n.º 40
0
		public void ArrangeOverride2 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			c.Arrange (new Rect (0, 0, 100, 100));
			Assert.IsFalse (c.Arranged, "#1");
			
			c.InvalidateArrange ();
			c.Arrange (new Rect (0, 0, 100, 100));
			Assert.IsFalse (c.Arranged, "#2");
		}
Exemplo n.º 41
0
		public void LayoutUpdated ()
		{
			bool layoutUpdated = false;
			bool loaded = false;
			ConcreteFrameworkElement element = new ConcreteFrameworkElement ();
			EventHandler handler = (o, e) => { layoutUpdated = true; };
			element.LayoutUpdated += handler;
			element.Loaded += (o, e) => { loaded = true; };
			Enqueue (() => TestPanel.Children.Add (element));
			EnqueueConditional (() => loaded );
			EnqueueConditional (() => layoutUpdated);
			Enqueue (() => { layoutUpdated = false; element.InvalidateArrange (); });
			EnqueueConditional (() => layoutUpdated);
			Enqueue (() => { layoutUpdated = false; element.InvalidateMeasure (); });
			EnqueueConditional (() => layoutUpdated);
			Enqueue (() => { element.LayoutUpdated -= handler; });
			EnqueueTestComplete ();
		}
Exemplo n.º 42
0
		public void FindName ()
		{
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement ();
			Assert.Throws<ArgumentNullException> (delegate {
				fe.FindName (null);
			}, "FindName(null)");
			Assert.IsNull (fe.FindName (String.Empty), "FindName(Empty)");
		}
Exemplo n.º 43
0
		public void LogicalParentTest3 ()
		{
			ConcreteFrameworkElement c = new ConcreteFrameworkElement ();
			ContentControl contentControl = new ContentControl ();

			contentControl.Content = c;

			Assert.AreEqual (contentControl, c.Parent);
		}
Exemplo n.º 44
0
		public void OnApplyTemplate ()
		{
			ConcreteFrameworkElement fe = new ConcreteFrameworkElement ();
			fe.OnApplyTemplate ();
		}