public void Changing_Resource_In_Templated_Parent_Should_Affect_Templated_Child()
        {
            var target = new ContentControl
            {
                Resources =
                {
                    { "red", Brushes.Red },
                },
                Template = new FuncControlTemplate <ContentControl>((x, scope) =>
                {
                    var result = new ContentPresenter
                    {
                        Name = "PART_ContentPresenter",
                        [!ContentPresenter.ContentProperty] = x[!ContentControl.ContentProperty],
                    }.RegisterInNameScope(scope);

                    result.Bind(ContentPresenter.BackgroundProperty, result.GetResourceObservable("red"));

                    return(result);
                }),
            };

            var root = new TestRoot(target);

            target.ApplyTemplate();

            var contentPresenter = Assert.IsType <ContentPresenter>(target.GetVisualChildren().Single());

            Assert.Same(Brushes.Red, contentPresenter.Background);

            target.Resources["red"] = Brushes.Green;

            Assert.Same(Brushes.Green, contentPresenter.Background);
        }