public async Task When_Theme_Changed() { var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 1000)); var textLightThemeMarkup = control.TemplateFromResourceControl.TextBlock6.Text; Assert.AreEqual("LocalVisualTreeLight", textLightThemeMarkup); try { if (await SwapSystemTheme()) { var textDarkThemeMarkup = control.TemplateFromResourceControl.TextBlock6.Text; Assert.AreEqual("LocalVisualTreeDark", textDarkThemeMarkup); //ThemeResource markup change lookup uses the visual tree (rather than original XAML namescope) } } finally { await SwapSystemTheme(); } }
public async Task When_Theme_Changed_Static() { var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 1000)); var textLightStaticMarkup = control.TemplateFromResourceControl.TextBlock5.Text; Assert.AreEqual("ApplicationLevelLight", textLightStaticMarkup); try { if (await SwapSystemTheme()) { var textDarkStaticMarkup = control.TemplateFromResourceControl.TextBlock5.Text; Assert.AreEqual("ApplicationLevelLight", textDarkStaticMarkup); //StaticResource markup doesn't change ; } } finally { await SwapSystemTheme(); } }
public void When_Inherited_In_Template_XAML_Scope() { var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 1000)); var text1ResourceTemplateAfter = control.TemplateFromResourceControl.TextBlock1.Text; Assert.AreEqual("OuterVisualTree", text1ResourceTemplateAfter); }
public void When_Inherited_In_Template() { var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 1000)); var text1InlineAfter = control.InlineTemplateControl.TextBlock1.Text; Assert.AreEqual("LocalVisualTree", text1InlineAfter); }
public void When_System_Resource_From_Template() { const double System_AppBarThemeCompactHeight = #if NETFX_CORE 48 //This changed from RS4 to RS5 #else 40 #endif ; var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 2000)); Assert.AreEqual(System_AppBarThemeCompactHeight, control.TestCommandBar.TemplateSettings.CompactVerticalDelta); Assert.AreEqual(System_AppBarThemeCompactHeight, control.TestCommandBar2.TemplateSettings.CompactVerticalDelta); }
public void When_System_Resource_From_Template_Overridden() { var app = UnitTestsApp.App.EnsureApplication(); try { app.Resources["AppBarThemeCompactHeight"] = 17d; var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 2000)); Assert.AreEqual(17, control.TestCommandBar.TemplateSettings.CompactVerticalDelta); Assert.AreEqual(17, control.TestCommandBar2.TemplateSettings.CompactVerticalDelta); } finally { app.Resources.Remove("AppBarThemeCompactHeight"); } }
public void When_Multiple_References_Framework_DependencyObject() { var app = UnitTestsApp.App.EnsureApplication(); var control = new Test_Control(); app.HostView.Children.Add(control); control.Measure(new Size(1000, 1000)); var foreground = control.InlineTemplateControl.TextBlock1.Foreground as SolidColorBrush; var background = control.TemplateFromResourceControl.Background as SolidColorBrush; var inResources = control.Resources["MutatedColorBrush"] as SolidColorBrush; Assert.AreEqual(Colors.Chartreuse, foreground.Color); Assert.AreEqual(Colors.Chartreuse, background.Color); Assert.AreEqual(Colors.Chartreuse, inResources.Color); Assert.IsTrue(ReferenceEquals(foreground, background)); Assert.IsTrue(ReferenceEquals(inResources, foreground)); inResources.Color = Colors.GhostWhite; Assert.AreEqual(Colors.GhostWhite, foreground.Color); Assert.AreEqual(Colors.GhostWhite, background.Color); var control2 = new Test_Control(); app.HostView.Children.Add(control2); control2.Measure(new Size(1000, 1000)); var background2 = control2.TemplateFromResourceControl.Background as SolidColorBrush; var areRefEqual = ReferenceEquals(background, background2); Assert.IsFalse(areRefEqual); Assert.AreEqual(Colors.Chartreuse, background2.Color); }