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); }