public void When_ControlTemplate_And_Animation() { var SUT = new ContentControl() { Tag = 42 }; DoubleAnimation anim = null; var template = new ControlTemplate(() => { var g = new Grid(); var vg = new VisualStateGroup(); var t1 = new VisualTransition(); var sb = new Storyboard(); anim = new DoubleAnimation(); anim.SetBinding(DoubleAnimation.ToProperty, new Binding() { Path = "Tag", RelativeSource = RelativeSource.TemplatedParent }); sb.Children.Add(anim); t1.Storyboard = sb; vg.Transitions.Add(t1); VisualStateManager.SetVisualStateGroups(g, new List <VisualStateGroup> { vg }); return(g); }); SUT.Template = template; SUT.ApplyTemplate(); Assert.IsNotNull(anim); }