Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 25 additions & 26 deletions Extension/WPF-Extension/Template-Studio.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ Create the Syncfusion WPF project using the Visual Studio Project Template by fo
![Syncfusion WPF project type selection wizard](Template-Studio-Images/WPF-4.png)

**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.
![Syncfusion WPF Predefined template wizard](Template-Studio-Images/WPFTemplate-6.png)

![Syncfusion WPF Predefined template wizard](Template-Studio-Images/WPFTemplate-6.png)

**Project type:** Choose this option to select from 4 project types, including Navigation Pane, Blank, Menu Bar, and Ribbon .

6. Click **Next** or navigate to the **Pages** tab to access a list of available Syncfusion WPF components you can add to the application.
Expand Down Expand Up @@ -88,48 +88,47 @@ In the **Project Details** section, you can modify configurations and project ty

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.

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:

![ConfigureServices](Template-Studio-Images/DI-Setup.png)
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:


*I. Application Host:*
- Registers **ApplicationHostService** to manage the app's lifecycle.

I. Application Host:
- Registers `ApplicationHostService` to manage the app's lifecycle.
*II. Specific Services:*
- Registers **PageService** and **NavigationService** for handling page navigation.

II. Specific Services:
- Registers `PageService` and `NavigationService` for handling page navigation.

III. Views and ViewModels:
*III. Views and ViewModels:*
- Registers ShellWindow and ShellViewModel for the main application window.
- Registers `DataGridViewModel` and `DataGridPage` for the added component DataGrid UI.
- Registers **DataGridViewModel** and **DataGridPage** for the added component DataGrid UI.
- Registers MainViewModel and MainPage for the main page of the app.

IV. Configuration:
- Binds the app's configuration settings to the `AppConfig` class using the settings from the configuration file.
*IV. Configuration:*
- Binds the app's configuration settings to the **AppConfig** class using the settings from the configuration file.

![ConfigureServices](Template-Studio-Images/DI-Setup.png)

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:
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:
*I. Initialization:*
- The constructor of PageService takes a serviceProvider to access registered services.

II. Registering Pages:
- Configure `<DataGridViewModel, DataGridPage>();` links the DataGridViewModel to the DataGridPage.
- Configure `<MainViewModel, MainPage>();` links the MainViewModel to the MainPage.
*II. Registering Pages:*
- **Configure `<DataGridPage>()`:** Registers DataGridPage with the service provider.
- **Configure `<MainPage>()`:** Registers MainPage with the service provider.

![PageServices](Template-Studio-Images/PageService.png)

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.
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.

![Resources](Template-Studio-Images/Resources.png)

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.

> | .NET Version | Available From Version | Supported from Visual Studio |

> 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 |

> | .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.

Expand Down
30 changes: 14 additions & 16 deletions Extension/WindowsForms-Extension/Template-Studio.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,47 +91,45 @@ Create the Syncfusion WinForms project using the Visual Studio Project Template
To find out which NuGet packages are needed for other WinForms controls, please refer to this [documentation link](https://help.syncfusion.com/windowsforms/control-dependencies) for detailed information on the required packages for each control.

10. When you create a WinForms project, the following Dependency Injection (DI) setup is added to the **Program.cs** file. This setup registers services, view models, and views with the DI container, ensuring proper functionality and service management within your application. Below **ConfigureServices** method in program.cs file establishes the DI setup in a WinForms project. It manages the application's services, view models, and views. Here's a detailed breakdown:

![DI-Setup](Template-Studio-Images/DI-Setup.png)

I. Application Host:

*I. Application Host:*
- Registers **ApplicationHostService** to manage the app's lifecycle.

II. Specific Services:
*II. Specific Services:*
- Registers **PageService** and **NavigationService** for handling page navigation.

III. Views and ViewModels:
*III. Views and ViewModels:*
- **ShellWindow:** Registers the main application window.
- **DataGridPage:** Registers the added component DataGrid on UI.
- **MainPage:** Registers the main page of the application.

IV. Configuration:
*IV. Configuration:*
- Binds the app's configuration settings to the **AppConfig** class using the settings from the configuration file.

![DI-Setup](Template-Studio-Images/DI-Setup.png)

11. In a WinForms MVVM application, the **PageService.cs** class is responsible for managing navigation and page creation. It registers view models with their corresponding pages, allowing for seamless navigation within the application.
Here's a simple explanation:

![PageService](Template-Studio-Images/PageService.png)

I. Initialization:

*I. Initialization:*
- The constructor of PageService takes an IServiceProvider to access the registered services. This allows the service to resolve and instantiate the required view models and views.

II. Registering Pages:
*II. Registering Pages:*
- **Configure `<DataGridPage>()`:** Registers DataGridPage with the service provider.
- **Configure `<MainPage>()`:** Registers MainPage with the service provider.

![PageService](Template-Studio-Images/PageService.png)

12. Some components require additional resource files, such as pdf and other necessary files, to function correctly. For example, if you add the **PDFViewer** and **Diagram** components to your WinForms project, the respective PDF and ico files will be added to the Resources folder in your project.

![Resources](Template-Studio-Images/Resources.png)


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.

> 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 |
> | .NET 8.0 | v23.2.4 | Visual Studio 2022 |

13. If you install the trial setup or NuGet packages from nuget.org, you must register the Syncfusion license key to your application since Syncfusion introduced the licensing system from the 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) to generate and register the Syncfusion license key to your application. 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.

Expand Down