@@ -1527,6 +1528,7 @@
- Disable toolbar items
- Disable the annotations selection
- Acquire total number of pages
+ - Change the Current User in PdfViewer
- Change the color of the Loading Indicator
- Change the selection color of the annotations
- Change the text displayed in the loading indicator
diff --git a/wpf/Charts/SeriesTypes/Series_images/wpf-chart-closed-path.png b/wpf/Charts/SeriesTypes/Series_images/wpf-chart-closed-path.png
index 43b2986e6..ddbe363a3 100644
Binary files a/wpf/Charts/SeriesTypes/Series_images/wpf-chart-closed-path.png and b/wpf/Charts/SeriesTypes/Series_images/wpf-chart-closed-path.png differ
diff --git a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-covered-area.png b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-covered-area.png
index c093e8cf9..ab582d1e1 100644
Binary files a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-covered-area.png and b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-covered-area.png differ
diff --git a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-with-line.png b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-with-line.png
index ec11b5e03..ccdb634eb 100644
Binary files a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-with-line.png and b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart-with-line.png differ
diff --git a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart.png b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart.png
index c093e8cf9..ab582d1e1 100644
Binary files a/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart.png and b/wpf/Charts/SeriesTypes/Series_images/wpf-polar-chart.png differ
diff --git a/wpf/Charts/SeriesTypes/Series_images/wpf-radar-chart.png b/wpf/Charts/SeriesTypes/Series_images/wpf-radar-chart.png
index 076c38831..4f79b1014 100644
Binary files a/wpf/Charts/SeriesTypes/Series_images/wpf-radar-chart.png and b/wpf/Charts/SeriesTypes/Series_images/wpf-radar-chart.png differ
diff --git a/wpf/Control-Dependencies.md b/wpf/Control-Dependencies.md
index 4e1c1ac30..2d9ba4b2e 100644
--- a/wpf/Control-Dependencies.md
+++ b/wpf/Control-Dependencies.md
@@ -376,8 +376,6 @@ Syncfusion.Edit.WPF
Syncfusion.Gantt.WPF
Syncfusion.SfGrid.WPF
-Syncfusion.Themes.MaterialLight.WPF
-Syncfusion.SfSkinManager.WPF
Syncfusion.Shared.WPF
Syncfusion.ProjIO.Base
|
@@ -1669,8 +1667,7 @@ Syncfusion.SfInput.WPF
Syncfusion.SfBusyIndicator.WPF
Syncfusion.SfSkinManager.WPF
Syncfusion.SfShared.WPF
-Syncfusion.Shared.WPF
-Syncfusion.Themes.MaterialLight.WPF
+Syncfusion.Shared.WPF
Syncfusion.SfScheduler.WPF
diff --git a/wpf/Gantt/migration-to-26v-or-higher.md b/wpf/Gantt/migration-to-26v-or-higher.md
index b5590bc89..953fbc52b 100644
--- a/wpf/Gantt/migration-to-26v-or-higher.md
+++ b/wpf/Gantt/migration-to-26v-or-higher.md
@@ -19,10 +19,7 @@ To facilitate the migration from [`GridTreeControl`](https://help.syncfusion.com
| Syncfusion.Grid.WPF
Syncfusion.GridCommon.WPF
|
-Syncfusion.SfGrid.WPF
-Syncfusion.SfSkinManager.WPF
-Syncfusion.Themes.MaterialLight.WPF
- |
+Syncfusion.SfGrid.WPF |
diff --git a/wpf/Licensing/ci-license-validation.md b/wpf/Licensing/ci-license-validation.md
new file mode 100644
index 000000000..69c5ca560
--- /dev/null
+++ b/wpf/Licensing/ci-license-validation.md
@@ -0,0 +1,110 @@
+---
+layout: post
+title: Overview of Syncfusion license validation in CI services - Syncfusion
+description: Learn here about how to register Syncfusion license key for Syncfusion application for license validation.
+platform: wpf
+control: Essential Studio
+documentation: ug
+---
+
+
+
+
+# Syncfusion license key validation in CI services
+
+Syncfusion license key validation in CI services ensures that Syncfusion Essential Studio components are properly licensed during CI processes, Validating the license key at the CI level can prevent licensing errors during deployment. The following section shows how to validate the Syncfusion license key in CI services.
+
+* Download and extract the LicenseKeyValidator.zip utility from the following link: [LicenseKeyValidator](https://s3.amazonaws.com/files2.syncfusion.com/Installs/LicenseKeyValidation/LicenseKeyValidator.zip).
+
+* Open the LicenseKeyValidation.ps1 PowerShell script in a text\code editor.
+
+
+
+* Update the parameters in the LicenseKeyValidation.ps1 script file as described below.
+
+ **Platform:** Modify the value for /platform: to the actual platform "WPF".
+
+ **Version:** Change the value for /version: to the required version (e.g., "26.2.4").
+
+ **License Key:** Replace the value for /licensekey: with your actual license key (e.g., "Your License Key").
+
+ N> This feature is supported only from the 16.2.0.41 version of the Essential Studio.
+
+## Azure Pipelines (YAML)
+
+* Create a new [User-defined Variable](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#user-defined-variables) named `LICENSE_VALIDATION` in Azure Pipeline. Use the path of the LicenseKeyValidation.ps1 script file as a value (e.g., D:\LicenseKeyValidator\LicenseKeyValidation.ps1).
+
+* Integrate the PowerShell task in pipeline and execute the script to validate the license key.
+
+The following example shows the syntax for Windows build agents.
+
+```bash
+pool:
+ vmImage: 'windows-latest'
+
+steps:
+
+- task: PowerShell@2
+ inputs:
+ targetType: filePath
+ filePath: $(LICENSE_VALIDATION) #Or the actual path to the script.
+
+ displayName: Syncfusion License Validation
+```
+
+## Azure Pipelines (Classic)
+
+* Create a new [User-defined Variable](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#user-defined-variables) named `LICENSE_VALIDATION` in Azure Pipeline. Use the path of the LicenseKeyValidation.ps1 script file as a value (e.g., D:\LicenseKeyValidator\LicenseKeyValidation.ps1).
+
+* Include the PowerShell task in pipeline and execute the script to validate the license key.
+
+
+
+## GitHub actions
+
+* To execute the script in PowerShell as part of a GitHub Actions workflow, include a step in the configuration file and update the path of the LicenseKeyValidation.ps1 script file (e.g., D:\LicenseKeyValidator\LicenseKeyValidation.ps1).
+
+The following example shows the syntax for validating Syncfusion license key in GitHub actions.
+
+```bash
+ steps:
+ - name: Syncfusion License Validation
+ shell: pwsh
+ run: |
+ ./path/LicenseKeyValidator/LicenseKeyValidation.ps1
+```
+
+## Jenkins
+
+* Create a [Environment Variable](https://www.jenkins.io/doc/pipeline/tour/environment) named 'LICENSE_VALIDATION'. Use Use the path of the LicenseKeyValidation.ps1 script file as a value (e.g., D:\LicenseKeyValidator\LicenseKeyValidation.ps1).
+
+* Include a stage in Jenkins to execute the LicenseKeyValidation.ps1 script in PowerShell.
+
+The following example shows the syntax for validating Syncfusion license key in Jenkins pipeline.
+
+```bash
+pipeline {
+ agent any
+ environment {
+ LICENSE_VALIDATION = 'path\\to\\LicenseKeyValidator\\LicenseKeyValidation.ps1'
+ }
+ stages {
+ stage('Syncfusion License Validation') {
+ steps {
+ sh 'pwsh ${LICENSE_VALIDATION}'
+ }
+ }
+ }
+}
+```
+
+## See also
+
+* [Licensing FAQ](https://help.syncfusion.com/common/essential-studio/licensing/overview/)
diff --git a/wpf/Licensing/licensing-images/license-validation-classic.png b/wpf/Licensing/licensing-images/license-validation-classic.png
new file mode 100644
index 000000000..1370fd173
Binary files /dev/null and b/wpf/Licensing/licensing-images/license-validation-classic.png differ
diff --git a/wpf/Licensing/licensing-images/license-validation.png b/wpf/Licensing/licensing-images/license-validation.png
new file mode 100644
index 000000000..a4396f695
Binary files /dev/null and b/wpf/Licensing/licensing-images/license-validation.png differ
diff --git a/wpf/Pdf-Viewer/How-To/Changing-the-Current-User.md b/wpf/Pdf-Viewer/How-To/Changing-the-Current-User.md
new file mode 100644
index 000000000..541cfa294
--- /dev/null
+++ b/wpf/Pdf-Viewer/How-To/Changing-the-Current-User.md
@@ -0,0 +1,39 @@
+---
+layout: post
+title: Change the Current user in PdfViewer | Syncfusion
+description: Learn about how to Change the CurrentUser in Syncfusion WPF Pdf Viewer control using CurrentUser property.
+platform: wpf
+control: PDF Viewer
+documentation: ug
+---
+
+# Change the CurrentUser in WPF Pdf Viewer
+
+The PDF Viewer allows you to change the CurrentUser. If the CurrentUser property is not set, it defaults to the system user name. When you set the CurrentUser, the changes will be reflected in the author property of newly added annotations. The following code example illustrates how to set the CurrentUser:
+
+{% tabs %}
+{% highlight C# %}
+
+//Initialize PDF Viewer.
+PdfViewerControl pdfViewer = new PdfViewerControl();
+//Load the PDF.
+pdfViewer.Load("Sample.pdf");
+
+//Changing the CurrentUser of document
+pdfViewer.CurrentUser = "set the name here";
+{% endhighlight %}
+
+
+
+{% highlight vbnet %}
+
+'Initialize PDF Viewer.
+Private pdfViewer As New PdfViewerControl()
+'Load the PDF.
+pdfViewer.Load("Sample.pdf")
+
+'Changing the CurrentUser of document
+pdfViewer.CurrentUser = "set the name here";
+
+{% endhighlight %}
+{% endtabs %}
diff --git a/wpf/Pdf-Viewer/Searching-Text.md b/wpf/Pdf-Viewer/Searching-Text.md
index 12be3227a..4e63b7208 100644
--- a/wpf/Pdf-Viewer/Searching-Text.md
+++ b/wpf/Pdf-Viewer/Searching-Text.md
@@ -79,6 +79,8 @@ private void SearchPrevious_Click(object sender, RoutedEventArgs e)
## Find text method
+N> From version 27.1.x, we have used text extraction engine for find text from PDF documents. By default text extraction engine uses PDFium for extracting text information. Please refer to the [link](https://help.syncfusion.com/wpf/pdf-viewer/text-extraction-engines) for more details.
+
The [FindText](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_FindText_System_String_System_Collections_Generic_Dictionary_System_Int32_System_Collections_Generic_List_System_Drawing_RectangleF____) method allows the user to search a particular text and get its bounds after loading the document in the [PdfViewerControl](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html). The [FindText](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.PdfViewer.PdfViewerControl.html#Syncfusion_Windows_PdfViewer_PdfViewerControl_FindText_System_String_System_Collections_Generic_Dictionary_System_Int32_System_Collections_Generic_List_System_Drawing_RectangleF____) method returns ‘true’ when the given text is found in the document; else, it returns ‘false’.
### Find and get the bounds of a text
diff --git a/wpf/Surface-Chart/Getting-Started.md b/wpf/Surface-Chart/Getting-Started.md
index d49b45ebf..c3f6d7c04 100644
--- a/wpf/Surface-Chart/Getting-Started.md
+++ b/wpf/Surface-Chart/Getting-Started.md
@@ -516,3 +516,13 @@ The following output is displayed as a result of the above code example.
You can get the complete getting started sample [`here`](https://www.syncfusion.com/downloads/support/directtrac/general/ze/SurfaceChartDemo-1998279060).

+
+## Theme
+
+WPF SurfaceChart (SfSurfaceChart) supports various built-in themes. Refer to the below links to apply themes for the SfSurfaceChart,
+
+ * [Apply theme using SfSkinManager](https://help.syncfusion.com/wpf/themes/skin-manager)
+
+ * [Create a custom theme using ThemeStudio](https://help.syncfusion.com/wpf/themes/theme-studio#creating-custom-theme)
+
+
\ No newline at end of file
diff --git a/wpf/Visual-Studio-Integration/Template-Studio-Images/DI-Setup.png b/wpf/Visual-Studio-Integration/Template-Studio-Images/DI-Setup.png
new file mode 100644
index 000000000..4886fa7fd
Binary files /dev/null and b/wpf/Visual-Studio-Integration/Template-Studio-Images/DI-Setup.png differ
diff --git a/wpf/Visual-Studio-Integration/Template-Studio-Images/NuGetEntry.png b/wpf/Visual-Studio-Integration/Template-Studio-Images/NuGetEntry.png
new file mode 100644
index 000000000..3fba75893
Binary files /dev/null and b/wpf/Visual-Studio-Integration/Template-Studio-Images/NuGetEntry.png differ
diff --git a/wpf/Visual-Studio-Integration/Template-Studio-Images/PageService.png b/wpf/Visual-Studio-Integration/Template-Studio-Images/PageService.png
new file mode 100644
index 000000000..09b3e2104
Binary files /dev/null and b/wpf/Visual-Studio-Integration/Template-Studio-Images/PageService.png differ
diff --git a/wpf/Visual-Studio-Integration/Template-Studio-Images/Resources.png b/wpf/Visual-Studio-Integration/Template-Studio-Images/Resources.png
new file mode 100644
index 000000000..b620ef72c
Binary files /dev/null and b/wpf/Visual-Studio-Integration/Template-Studio-Images/Resources.png differ
diff --git a/wpf/Visual-Studio-Integration/Template-Studio.md b/wpf/Visual-Studio-Integration/Template-Studio.md
index d81d0b6ad..7a3b12aa6 100644
--- a/wpf/Visual-Studio-Integration/Template-Studio.md
+++ b/wpf/Visual-Studio-Integration/Template-Studio.md
@@ -50,39 +50,15 @@ Create the Syncfusion WPF project using the Visual Studio Project Template by fo
5. Click **Next** or navigate to the **Type** tab, then select the desired Syncfusion WPF application type. When selecting the type of template for your application, you have two options:
- 
+ 
**Predefined template:** Choose this option to select from 5 predefined templates, including Calendar, Contact, Outlook, Docking Manager, Spreadsheet, Tile view, and Word. By choosing one of these templates, you can create your application without needing to follow any further steps.
- 
+ 
**Project type:** Choose this option to select from 4 project types, including Navigation Pane, Blank, Menu Bar, and Ribbon .
- 1. Click **Next** or navigate to the **Pages** tab to access a list of available Syncfusion WPF components you can add to the application.
-
- 
-
- To unselect the added control(s), Click ‘x’ for the corresponding control in the control list from the Project Details.
-
- N> The Control Features option is not accessible for Blank Pages.
-
- 2. Click **Next** or navigate to the **Control Features** tab to view the listed features for the selected controls. From here, choose the features needed.
-
- 
-
- 3. Click **Next** or navigate the **App Features** tab to select the desired application features.
-
- 
-
- N> The App Features option is not accessible for .NET Framework.
-
- **Project Details Section**
-
- In the **Project Details** section, modify configurations and project types. Additionally, you can remove one or more controls from the selected list and remove the chosen application feature.
-
- 
-
- 4. Click **Next** or navigate to the **Pages** tab to access a list of available Syncfusion WPF components you can add to the application.
+6. Click **Next** or navigate to the **Pages** tab to access a list of available Syncfusion WPF components you can add to the application.

@@ -90,34 +66,90 @@ Create the Syncfusion WPF project using the Visual Studio Project Template by fo
N> The Control Features option is not accessible for Blank, Settings, and Master Detail Pages.
- 5. Click **Next** or navigate to the **Control Features** tab to view the listed features for the selected controls. From here, choose the features needed.
+7. Click **Next** or navigate to the **Control Features** tab to view the listed features for the selected controls. From here, choose the features needed.

- 6. Click **Next** or navigate the **App Features** tab to select the desired application features.
+8. Click **Next** or navigate the **App Features** tab to select the desired application features.
+
+ 
- 
+**Project Details Section**
- **Project Details Section**
+In the **Project Details** section, you can modify configurations and project types. Additionally, you can remove one or more controls from the selected list and remove the chosen application feature.
- In the **Project Details** section, you can modify configurations and project types. Additionally, you can remove one or more controls from the selected list and remove the chosen application feature.
+
- 
+9. Click **Create** to generate the Syncfusion WPF application. Once you've created the project, the relevant Syncfusion NuGet packages will be automatically added to your project for the chosen components. For example, if you add an **DataGrid** control, the corresponding Syncfusion NuGet packages required for that control will be installed.
- 7. Click **Create** to initiate the process. This action generates the Syncfusion WPF application. The resulting Syncfusion WPF app has the necessary Syncfusion NuGet packages, styles, and rendering code specific to the chosen Syncfusion component.
+ 
- 
+ 
- 8. The Syncfusion WPF application is configured with the latest versions of Syncfusion WPF NuGet packages, complete with the appropriate namespaces and component render code for seamless integration of Syncfusion components.
+ To find out which NuGet packages are needed for other WPF controls, please refer to this [documentation link](https://help.syncfusion.com/wpf/control-dependencies) for detailed information on the required NuGet packages for each control.
- N> The .Net 6.0, .Net 7.0, and .Net 8.0 option will be listed in Select a framework version when only the .Net 6.0, .Net 7.0, and .Net 8.0 SDK setup has been installed.
+10. When you create a WPF project, the following Dependency Injection (DI) setup is added to the **App.xaml.cs** file. This setup registers services, view models, and views with the DI container, ensuring proper functionality for the selected components and service management within your application. Below, the **ConfigureServices** method in **App.xaml.cs** sets up Dependency Injection (DI) in a WPF project to manage the application's services, view models, and views. Here's a simple breakdown:
+
- > .NET 6.0 version is available from v19.4.0.38 and it support from Visual Studio 2022.
+ *I. Application Host:*
+ - Registers **ApplicationHostService** to manage the app's lifecycle.
- > .NET 7.0 version is available from v20.4.0.38 and it support from Visual Studio 2022.
+ *II. Specific Services:*
+ - Registers **PageService** and **NavigationService** for handling page navigation.
- > .NET 8.0 version is available from v23.2.4 and it support from Visual Studio 2022.
+ *III. Views and ViewModels:*
+ - Registers ShellWindow and ShellViewModel for the main application window.
+ - Registers **DataGridViewModel** and **DataGridPage** for the added component DataGrid UI.
+ - Registers MainViewModel and MainPage for the main page of the app.
- 9. Then, Syncfusion licensing registration required message box will be shown if you installed the trial setup or NuGet packages since Syncfusion introduced the licensing system from 2018 Volume 2 (v16.2.0.41) Essential Studio release. Navigate to the [help topic](https://help.syncfusion.com/common/essential-studio/licensing/overview#how-to-generate-syncfusion-license-key), which is shown in the licensing message box to generate and register the Syncfusion license key to your project. Refer to this [blog](https://www.syncfusion.com/blogs/post/whats-new-in-2018-volume-2.aspx) post for understanding the licensing changes introduced in Essential Studio.
+ *IV. Configuration:*
+ - Binds the app's configuration settings to the **AppConfig** class using the settings from the configuration file.
- 
\ No newline at end of file
+ 
+
+11. In a WPF MVVM application, the **PageService.cs** class helps manage navigation and page creation. For instance, it facilitates registering and navigating to pages associated with specific view models. Here's a simple explanation:
+
+ *I. Initialization:*
+ - The constructor of PageService takes a serviceProvider to access registered services.
+
+ *II. Registering Pages:*
+ - **Configure `()`:** Registers DataGridPage with the service provider.
+ - **Configure `()`:** Registers MainPage with the service provider.
+
+ 
+
+12. Some components require additional resource files, such as images and other necessary files, to function correctly. For example, if you add the **PDFViewer** and **Carousel** component to your WPF project, the respective images and PDF files will be added to the Images and Assets folder in your project.
+
+ 
+
+ > The .NET 6.0, .NET 7.0, and .NET 8.0 options will be available in the Select a framework version dropdown only if the respective .NET SDKs are installed on your system. The table below outlines the .NET versions, the specific product versions from which they are available, and the Visual Studio versions that support them:
+ >
+ >
+ >
+ > .NET Version |
+ > Available From Version |
+ > Supported from Visual Studio |
+ >
+ >
+ >
+ >
+ > .NET 6.0 |
+ > v19.4.0.38 |
+ > Visual Studio 2022 |
+ >
+ >
+ > .NET 7.0 |
+ > v20.4.0.38 |
+ > Visual Studio 2022 |
+ >
+ >
+ > .NET 8.0 |
+ > v23.2.4 |
+ > Visual Studio 2022 |
+ >
+ >
+ >
+
+13. Then, Syncfusion licensing registration required message box will be shown if you installed the trial setup or NuGet packages since Syncfusion introduced the licensing system from 2018 Volume 2 (v16.2.0.41) Essential Studio release. Navigate to the [help topic](https://help.syncfusion.com/common/essential-studio/licensing/overview#how-to-generate-syncfusion-license-key), which is shown in the licensing message box to generate and register the Syncfusion license key to your project. Refer to this [blog](https://www.syncfusion.com/blogs/post/whats-new-in-2018-volume-2.aspx) post for understanding the licensing changes introduced in Essential Studio.
+
+ 
\ No newline at end of file