public async Task Check_Binding() { var SUT = new Pivot() { HeaderTemplate = PivotHeaderTemplate, ItemTemplate = PivotItemTemplate }; var root = new Grid { DataContext = new MyContext() }; root.Children.Add(SUT); WindowHelper.WindowContent = root; await WindowHelper.WaitForIdle(); var items = (root.DataContext as MyContext)?.Items; SUT.SetBinding(Pivot.ItemsSourceProperty, new Binding { Path = new PropertyPath("Items") }); PivotItem pi = null; await WindowHelper.WaitFor(() => (pi = SUT.ContainerFromItem(items[0]) as PivotItem) != null); var tbs = pi.GetAllChildren(null, false).OfType <TextBlock>().Cast <TextBlock>(); tbs.Should().NotBeNull(); tbs.Should().HaveCount(1); items[0].Content.Should().Be(tbs.ElementAt(0).Text); await WindowHelper.WaitFor(() => (pi = SUT.ContainerFromItem(items[1]) as PivotItem) != null); var tbs2 = pi.GetAllChildren(null, false).OfType <TextBlock>().Cast <TextBlock>(); tbs2.Should().NotBeNull(); tbs2.Should().HaveCount(1); items[1].Content.Should().Be(tbs2.ElementAt(0).Text); }