From bcebc64377de170fe89c2356b9f0c8bb75cd9ad4 Mon Sep 17 00:00:00 2001 From: Jothika4341 Date: Mon, 15 Sep 2025 12:27:43 +0530 Subject: [PATCH] Updated the UG changes --- wpf/Themes/Skin-Manager.md | 69 ++++++++++++++++++ ...-Theme-Resources-Using-TryFindResource.png | Bin 0 -> 3738 bytes 2 files changed, 69 insertions(+) create mode 100644 wpf/Themes/Skin-Manager_images/Accessing-Theme-Resources-Using-TryFindResource.png diff --git a/wpf/Themes/Skin-Manager.md b/wpf/Themes/Skin-Manager.md index 5db27ca3e..2024ad2d3 100644 --- a/wpf/Themes/Skin-Manager.md +++ b/wpf/Themes/Skin-Manager.md @@ -536,6 +536,75 @@ Dark Theme: ![Customizing using ThemeResource Dark](Skin-Manager_images/Customizing-using-ThemeResource-Dark.png) +### Accessing Theme Resources Using TryFindResource + +To access specific theme resources in your WPF application, you can use the `TryFindResource(key)` method to retrieve a resource by its key and apply it in the code-behind. + +Theme resource keys are typically defined in: + +1) **Brushes.xaml:** Contains brush-related keys such as ContentBackground, ContentForeground, etc. + +2) **Common.xaml:** Contains font size and style keys like HeaderTextStyle, SubHeaderTextStyle, etc. + +These files are located under the Common folder when [exporting a theme from ThemeStudio](https://help.syncfusion.com/wpf/themes/theme-studio#exporting-theme-project). You can also refer to the [Resource Key list](https://help.syncfusion.com/wpf/themes/skin-manager#resource-key-list) to locate specific styles for various controls. + +**Example: Applying Theme Resources to a Button** + +{% tabs %} + +{% highlight XAML %} + + + +{% endhighlight %} + +{% endtabs %} + +Include the following namespace and apply the implementation in your code-behind to retrieve and assign theme-specific resources for a button control. + +{% tabs %} + +{% highlight C# %} + +using Syncfusion.Themes.Windows11Light.WPF; + +Theme currentTheme = SfSkinManager.GetTheme(myButton); + +if (currentTheme.ThemeName == "Windows11Light") +{ + var buttonStyleKey = new ThemeKey + { + Theme = typeof(Windows11LightSkinHelper), + Key = "WPFPrimaryButtonStyle" + }; + var textStyleKey = new ThemeKey + { + Theme = typeof(Windows11LightSkinHelper), + Key = "HeaderTextStyle" + }; + var foregroundStyleKey = new ThemeKey + { + Theme = typeof(Windows11LightSkinHelper), + Key = "ContentForeground" + }; + Style buttonStyle = TryFindResource(buttonStyleKey) as Style; + myButton.Style = buttonStyle; + double fontSize = (double)TryFindResource(textStyleKey); + myButton.FontSize = fontSize; + SolidColorBrush backgroundBrush = TryFindResource(foregroundStyleKey) as SolidColorBrush; + myButton.Foreground = backgroundBrush; +} + +{% endhighlight %} + +{% endtabs %} + +This example demonstrates how to dynamically apply a button style, foreground color, and font size using theme resource keys defined in the Brushes.xaml and Common.xaml files for the Windows11Light theme. + +**Output Screenshot** + +![Accessing Theme Resources Using TryFindResource](Skin-Manager_images/Accessing-Theme-Resources-Using-TryFindResource.png) + ## Resource Key List ### Framework Controls diff --git a/wpf/Themes/Skin-Manager_images/Accessing-Theme-Resources-Using-TryFindResource.png b/wpf/Themes/Skin-Manager_images/Accessing-Theme-Resources-Using-TryFindResource.png new file mode 100644 index 0000000000000000000000000000000000000000..15767b6c0bd3b9fbf8c72db5392129575ba80816 GIT binary patch literal 3738 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 dQ&~(tlwOYgEM9PF