diff --git a/wpf/Add-Syncfusion-Controls.md b/wpf/Add-Syncfusion-Controls.md index f43457ac7..d2a3a28e0 100644 --- a/wpf/Add-Syncfusion-Controls.md +++ b/wpf/Add-Syncfusion-Controls.md @@ -8,19 +8,22 @@ documentation: ug --- # Add Syncfusion® WPF Controls -The Syncfusion® WPF controls can be added in a Visual Studio projects by using either of the following ways: + +The Syncfusion® WPF controls can be added to a Visual Studio project by using any of the following ways: * Using Designer +* Using XAML * Using Code-Behind * Using Project Template ## Using Designer -Syncfusion® UI for WPF are added automatically to the Visual Studio Toolbox during installation. The following steps help you to add the required Essential® WPF control using drag and drop from the Toolbox. For example: **SfTextBoxExt** + +Syncfusion® UI for WPF controls are added automatically to the Visual Studio Toolbox during the installation. The following steps help you to add the required Essential® WPF control using drag and drop from the Toolbox. For example: **SfTextBoxExt** 1. Create a WPF project in Visual Studio. -2. Find **SfTextBoxExt** by typing the name of the "SfTextBoxExt" in the search box. +2. Find **SfTextBoxExt** by typing "SfTextBoxExt" in the search box of the Toolbox. ![Drag and drop from toolbox](ThroughDragndDrop_images/AddSyncfusionControls_img1.jpeg) @@ -28,12 +31,12 @@ Syncfusion® UI for WPF are added automatically to the Visual Stud ![WPF TextBoxExt control](ThroughDragndDrop_images/AddSyncfusionControls_img2.jpeg) -### Using XAML -The following steps help you to add a required Essential® WPF Control using XAML Code, for example: **SfTextBoxExt**. +## Using XAML -1. Create a WPF project in Visual Studio and refer the following assemblies: +The following steps help you to add the required Essential® WPF control using XAML, for example: **SfTextBoxExt**. +1. Create a WPF project in Visual Studio and refer the following assemblies: * Syncfusion.SfInput.WPF.dll * Syncfusion.SfShared.WPF.dll @@ -47,7 +50,7 @@ The following steps help you to add a required Essential® WPF Con + xmlns:syncfusion="http://schemas.syncfusion.com/wpf"> {% endhighlight %} @@ -55,7 +58,7 @@ The following steps help you to add a required Essential® WPF Con {% endcapture %} {{ codesnippet1 | OrderList_Indent_Level_1 }} -3. Now, add the SfTextBoxExt control with a required optimal name using the included namespace. +3. Now, add the SfTextBoxExt control with the required name using the included namespace. {% capture codesnippet2 %} {% tabs %} @@ -72,13 +75,15 @@ The following steps help you to add a required Essential® WPF Con ## Using Code-Behind -Syncfusion® UI for WPF can be added at runtime using C# / VB. The following steps help you to add required Essential® WPF control using code. For example: **SfTextBoxExt**. + +Syncfusion® UI for WPF controls can be added at runtime using C# / VB. The following steps help you to add a required Essential® WPF control using code. For example: **SfTextBoxExt**. 1. Create a WPF project in Visual Studio and refer to the following assemblies: * Syncfusion.SfInput.WPF.dll * Syncfusion.SfShared.WPF.dll + 2. Create an instance of **SfTextBoxExt**, using its namespace. {% capture codesnippet3 %} @@ -86,13 +91,17 @@ Syncfusion® UI for WPF can be added at runtime using C# / VB. The {% highlight C# %} -Syncfusion.Windows.Controls.Input.SfTextBoxExt textBoxExt1 = new Syncfusion.Windows.Controls.Input.SfTextBoxExt(); +using Syncfusion.Windows.Controls.Input; + +SfTextBoxExt textBoxExt1 = new SfTextBoxExt(); {% endhighlight %} {% highlight VB %} -Dim textBoxExt1 As New Syncfusion.Windows.Controls.Input.SfTextBoxExt() +Imports Syncfusion.Windows.Controls.Input + +Dim textBoxExt1 As New SfTextBoxExt() {% endhighlight %} @@ -100,7 +109,8 @@ Dim textBoxExt1 As New Syncfusion.Windows.Controls.Input.SfTextBoxExt() {% endcapture %} {{ codesnippet3 | OrderList_Indent_Level_1 }} -3. Set the Size and Alignment of the control with required value. + +3. Set the Size and Alignment of the control with the required values. {% capture codesnippet4 %} {% tabs %} @@ -129,7 +139,8 @@ textBoxExt1.HorizontalAlignment = HorizontalAlignment.Center {% endcapture %} {{ codesnippet4 | OrderList_Indent_Level_1 }} -4. Add the created instance to the parent window (or the needed layout panels). + +4. Add the created instance to the parent window (or to a layout panel such as a `Grid`). {% capture codesnippet5 %} {% tabs %} @@ -198,7 +209,8 @@ N> Minimum target Framework is 4.0 for Syncfusion® WPF project te ![Added assemblies for WPF control](Add-Syncfusion-Control_images\Syncfusion-Project-Template-Gallery-7.png) -![Shows project folder for added control](Add-Syncfusion-Control_images\Syncfusion-Project-Template-Gallery-8.png) + +`![Shows project folder for added control](Add-Syncfusion-Control_images\Syncfusion-Project-Template-Gallery-8.png) 5. Then, Syncfusion® licensing registration required message box will be shown as follows, if you have installed the trial setup or NuGet packages since Syncfusion introduced the licensing system with the 2018 Volume 2 (v16.2.0.41) Essential Studio® release. Please navigate to the [help topic](https://help.syncfusion.com/common/essential-studio/licensing/license-key#how-to-generate-syncfusion-license-key), which is shown in the licensing message box to generate and register the Syncfusion® license key for your project. Refer to this [blog](https://blog.syncfusion.com/post/Whats-New-in-2018-Volume-2-Licensing-Changes-in-the-1620x-Version-of-Essential-Studio.aspx) post for understanding the licensing changes introduced in Essential Studio®. diff --git a/wpf/Blend-Support.md b/wpf/Blend-Support.md index 4f4a98433..1386ccfff 100644 --- a/wpf/Blend-Support.md +++ b/wpf/Blend-Support.md @@ -9,57 +9,46 @@ documentation: ug # Getting Started with Blend Support -Essential® WPF control's Style and Template can be editable in Expression Blend and this section explains the same. + +Essential® WPF control's Style and Template can be edited in Expression Blend and this section explains the same. ## Edit Control Style in Expression Blend -1.Open an application in Expression Blend. +1. Open an application in Expression Blend. -2.Expand the Views, choose `Other Windows` and then choose `Objects` and `Timeline`. +2. Expand the `Views` menu, choose `Other Windows`, and then choose `Objects and Timeline`. 3.In the “Objects and Timeline” pane, select a Syncfusion® control to modify a style. ![Blend-Support_images1](Blend-Support_images/GettingStarted_img1.jpeg) -4.Expand the format, then choose `Edit Style` menu. +4. The `Edit Style` menu provides the following options: ![Blend-Support_images2](Blend-Support_images/GettingStarted_img2.jpeg) -5.It provides the following options: - - * Edit Current – To edit the current style. This option is disabled when control do not have a Style. - * Edit a Copy – Helps you to edit a copy of default style. When it is selected, Create Style Resource dialog box is opened, this dialog box is used to select the name for style as well as the location where file is defined. - -![Blend-Support_images3](Blend-Support_images/GettingStarted_img3.jpeg) - - - * Create Empty – This option helps you to create an empty style for selected control. When it is selected, the same Create Style Resource dialog box is opened and it is used to select the name for style as well as choose the location. +5. In the **Create Style Resource** dialog box, choose a name for the style and select **Define in: Application** (to make it available application-wide) or **Define in: this document** (to scope it to a specific resource dictionary or the current view), and then click **OK**. The style is added to the XAML and the designer surfaces it for editing. ## Edit ControlTemplate in Expression Blend -1.Open an application in Expression Blend. +1. Open an application in Expression Blend. -2.Expand the Views, choose `Other Windows` and then choose `Objects` and `Timeline`. +2. Expand the `Views` menu, choose `Other Windows`, and then choose `Objects and Timeline`. -3.In the “Objects and Timeline” pane, select a Syncfusion® control to modify a template. +3. In the "Objects and Timeline" pane, select a Syncfusion® control to modify a template. ![Blend-Support_images4](Blend-Support_images/GettingStarted_img4.jpeg) -4.Right-click the Syncfusion® control and choose `Edit` template +4. Right-click the Syncfusion® control and choose `Edit Template`. ![Blend-Support_images5](Blend-Support_images/GettingStarted_img5.jpeg) -5.It provides the following options: - -* Edit Current – To edit the current template of the control. This option is disabled when control do not have a template. -* Edit a Copy – Helps to edit the default template. When it is selected, Create ControlTemplate Resource dialog box is opened. This dialog box is used to select the name for template as well as the location where file is defined. - -![Blend-Support_images6](Blend-Support_images/GettingStarted_img6.jpeg) - +5. The `Edit Template` menu provides the following options: -* Create Empty – This option helps you to create an empty template for selected control. When it is selected, the same dialog box is opened. It is used to select the name for template as well as the location. +* **Edit Current** – To edit the current template of the control. This option is disabled when the control does not have a template. +* **Edit a Copy** – Helps you to edit a copy of the default template. When it is selected, the Create ControlTemplate Resource dialog box is opened. This dialog box is used to select the name for the template as well as the location where the template is defined. +* **Create Empty** – This option helps you to create an empty template for the selected control. When it is selected, the same Create ControlTemplate Resource dialog box is opened. It is used to select the name for the template as well as the location. diff --git a/wpf/Control-Dependencies.md b/wpf/Control-Dependencies.md index 13adf7b5c..12268e67f 100644 --- a/wpf/Control-Dependencies.md +++ b/wpf/Control-Dependencies.md @@ -1,7 +1,7 @@ --- layout: post -title: Control Dependencies and Dependency assembly | WPF | Syncfusion -description: Control and it's Dependency assembly or NuGet reference details for Syncfusion Essential Studio WPF products +title: Control Dependencies and Dependency Assemblies | WPF | Syncfusion +description: Control and its dependency assembly or NuGet reference details for Syncfusion Essential Studio WPF products platform: wpf control: Control Dependencies documentation: ug @@ -9,11 +9,11 @@ documentation: ug # Control Dependencies in Syncfusion®'s WPF Controls -This section contains a list of assembly or NuGet references required to use any control in the application. You can refer to the [installation and deployment section](https://help.syncfusion.com/wpf/installation-and-upgrade/system-requirements) to know about assembly installation location and [NuGet packages](https://help.syncfusion.com/wpf/installation/install-nuget-packages) section to know how to add NuGet reference. +This section contains a list of assembly or NuGet references required to use any control in the application. You can refer to the [installation and deployment section](https://help.syncfusion.com/wpf/installation-and-upgrade/system-requirements) to know where the assemblies are installed and the [NuGet packages](https://help.syncfusion.com/wpf/installation/install-nuget-packages) section to know how to add a NuGet reference. -You can refer to the [syncfusion controls section](https://help.syncfusion.com/wpf/add-syncfusion-controls) to learn how to add syncfusion® control. +You can refer to the [Syncfusion controls section](https://help.syncfusion.com/wpf/add-syncfusion-controls) to learn how to add a Syncfusion® control. -N> Starting with version 16.2(2018 Vol 2), the `Syncfusion.Licensing.dll` will be added as reference for all the Syncfusion WPF controls. Please refer to this [help topic](https://help.syncfusion.com/common/essential-studio/licensing/license-key), for more information. +N> Starting with version 16.2 (2018 Vol 2), the `Syncfusion.Licensing.dll` will be added as a reference for all the Syncfusion WPF controls. Please refer to this [help topic](https://help.syncfusion.com/common/essential-studio/licensing/license-key) for more information. ## AutoComplete @@ -555,7 +555,7 @@ Syncfusion.OlapChart.WPF ### Exporting OLAP chart to PDF, Word, and Image -In addition to the above assemblies, the following reference needs to be added to export OLAP chart contents to PDF, word, and image. +In addition to the above assemblies, the following reference needs to be added to export OLAP chart contents to PDF, Word, and Image. @@ -649,7 +649,7 @@ Syncfusion.OlapGrid.WPF ### Exporting OLAP grid to Excel, Word, PDF, and CSV -In addition to the above assemblies, the following reference needs to be added to export OLAP grid contents to excel, word, PDF, and CSV. +In addition to the above assemblies, the following reference needs to be added to export OLAP grid contents to Excel, Word, PDF, and CSV.
@@ -744,7 +744,7 @@ Syncfusion.PivotTable.Wpf ### Exporting pivot grid to Excel, Word, PDF, and CSV -In addition to the above assemblies, the following reference needs to be added to export pivot grid contents to excel, word, PDF, and CSV. +In addition to the above assemblies, the following reference needs to be added to export pivot grid contents to Excel, Word, PDF, and CSV.
@@ -859,10 +859,10 @@ Syncfusion.OfficeChart.Base
Syncfusion.RichTextBoxAdv.WPF
Syncfusion.Shared.WPF
-For 3.5 and 4.0 frameworks:
+For .NET Framework 3.5 and 4.0:
Syncfusion.DocIO.ClientProfile

-For 4.5 and higher frameworks:
+For .NET Framework 4.5 and higher:
Syncfusion.DocIO.Base
Assembly references @@ -1120,7 +1120,7 @@ Syncfusion.SfGrid.WPF
### Exporting DataGrid to Excel, PDF, and CSV -The following reference needs to be added in your application for exporting DataGrid to excel, pdf, and csv. +The following reference needs to be added in your application for exporting DataGrid to Excel, PDF, and CSV. @@ -1576,9 +1576,9 @@ Syncfusion.Compression.Base
Syncfusion.OfficeChart.Base
Syncfusion.Shared.WPF
-For 3.5 and 4.0 frameworks:
+For .NET Framework 3.5 and 4.0:
Syncfusion.DocIO.ClientProfile
-For 4.5 and higher frameworks:
+For .NET Framework 4.5 and higher:
Syncfusion.DocIO.Base
@@ -1603,9 +1603,9 @@ Syncfusion.SfRichTextBoxAdv.WPF
Syncfusion.Shared.WPF
Syncfusion.Tools.WPF
-For 3.5 and 4.0 frameworks:
+For .NET Framework 3.5 and 4.0:
Syncfusion.DocIO.ClientProfile
-For 4.5 and higher frameworks:
+For .NET Framework 4.5 and higher:
Syncfusion.DocIO.Base
@@ -1716,7 +1716,7 @@ Syncfusion.SfSpreadsheetHelper.WPF ### Exporting SfSpreadsheet to PDF -The following references need to be added in your application for exporting SfSpreadsheet to pdf. +The following references need to be added in your application for exporting SfSpreadsheet to PDF. @@ -1860,7 +1860,7 @@ Syncfusion.SfGrid.WPF ### Exporting TreeGrid to Excel, PDF, and CSV -The following references need to be added in your application for exporting TreeGrid to excel, pdf, and csv. +The following references need to be added in your application for exporting TreeGrid to Excel, PDF, and CSV.
diff --git a/wpf/Localization.md b/wpf/Localization.md index d4cf41ea2..add9c1937 100644 --- a/wpf/Localization.md +++ b/wpf/Localization.md @@ -1,7 +1,7 @@ --- layout: post title: Localization in Syncfusion WPF UI Controls | Syncfusion -description: Learn about Localization support in Syncfusion WPF UI Contorls using .RESX files and also explains editing default strings of WPF controls. +description: Learn about Localization support in Syncfusion WPF UI Controls using .RESX files and also explains editing default strings of WPF controls. platform: wpf control: Localization documentation: ug @@ -9,7 +9,7 @@ documentation: ug # Localization of Syncfusion® WPF Controls -Localization is the process of translating the application resources into different language for the specific cultures. You can localize the syncfusion® WPF controls by adding a resource file for each language. +Localization is the process of translating the application resources into different languages for specific cultures. You can localize the Syncfusion® WPF controls by adding a resource file for each language. ## Changing application culture @@ -54,7 +54,7 @@ N> You can get the default resource files of all Syncfusion® WPF 2) Add the [default resource files](https://github.com/syncfusion/wpf-controls-localization-resx-files) to the libraries you are using to the `Resources` folder and ensure `AccessModifier` is specified as `Public`. -N> Consider, you are using `SfDataGrid` and `Ribbon` in your application. Then, you need to copy and include `Syncfusion.SfGrid.WPF.resx` (since `SfDataGrid` present in `Syncfusion.SfGrid.WPF` library) and `Syncfusion.Tools.Wpf.resx` (since `Ribbon` present in `Syncfusion.Tools.WPF` library) files in your application under `Resources` folder. So, now you can know the key names and values of default stings used in `Syncfusion.Tools.WPF.dll` and `Syncfusion.SfGrid.WPF.dll` libraries. +N> Consider, you are using `SfDataGrid` and `Ribbon` in your application. Then, you need to copy and include `Syncfusion.SfGrid.WPF.resx` (since `SfDataGrid` present in `Syncfusion.SfGrid.WPF` library) and `Syncfusion.Tools.Wpf.resx` (since `Ribbon` present in `Syncfusion.Tools.WPF` library) files in your application under `Resources` folder. So, now you can know the key names and values of default strings used in `Syncfusion.Tools.WPF.dll` and `Syncfusion.SfGrid.WPF.dll` libraries. ![WPF DataGrid Localization](localization-images/wpf-default-resx-file.png) @@ -75,4 +75,4 @@ N> Download demo from the [GitHub](https://github.com/SyncfusionExamples/wpf-dat ## Editing default culture strings -You can change default string of any control by adding the default .resx files ([from GitHub](https://github.com/syncfusion/wpf-controls-localization-resx-files)) to `Resources` folder of your application. If it is added, Syncfusion® WPF controls reads the default string from the .resx files of application. +You can change default strings of any control by adding the default .resx files ([from GitHub](https://github.com/syncfusion/wpf-controls-localization-resx-files)) to the `Resources` folder of your application. If added, Syncfusion® WPF controls read the default strings from the .resx files of the application. diff --git a/wpf/Pattern-and-Practices.md b/wpf/Pattern-and-Practices.md index 68a26baa0..a104cdd2e 100644 --- a/wpf/Pattern-and-Practices.md +++ b/wpf/Pattern-and-Practices.md @@ -1,7 +1,7 @@ --- layout: post title: Pattern and Practices for Syncfusion Essential WPF controls -description: Learn here about how to use MVVM Commands, Patterns, and Events of the Syncfusion Essential WPF controls +description: Learn how to implement MVVM commands, patterns, and event handling techniques with Syncfusion Essential WPF controls. platform: wpf control: Pattern and Practices documentation: ug @@ -10,9 +10,10 @@ documentation: ug ## Getting Started with MVVM -Essential® WPF controls are suitable for MVVM Pattern. Since, the controls are provided with built-in commands. +Essential® WPF controls are suitable for the MVVM pattern, as the controls provide built-in commands and support data binding. -The `DataContext` property specifies the default source for Data Binding in MVVM pattern. + +The `DataContext` property specifies the default source for data binding in the MVVM pattern. {% tabs %} @@ -39,17 +40,19 @@ public partial class MainWindow : Window {% endtabs %} -This section explains how to perform TabControlExt’s `selectionChanged` event by creating a ViewModel and defining a Model collection that is used to bind with the TabControl’s `ItemSource` property. + +This section explains how to handle the TabControlExt’s `SelectionChanged` event by creating a ViewModel and defining a Model collection that is used to bind with the TabControlExt’s `ItemsSource` property. {% tabs %} {% highlight XAML %} - + + - + @@ -62,59 +65,43 @@ This section explains how to perform TabControlExt’s `selectionChanged` event {% highlight C# %} -public class ViewModel:NotificationObject + +public class ViewModel : NotificationObject { - private ObservableCollection _tabcollection; - public ObservableCollection tabcollection + private ObservableCollection _tabCollection; + public ObservableCollection TabCollection { - get - { - return _tabcollection; - } - set - { - _tabcollection = value; - } + get { return _tabCollection; } + set { _tabCollection = value; } } - private void Collection() + + private void PopulateCollection() { - model model = new model() - { - HeaderName = "item1" - }; - model model1 = new model() - { - HeaderName = "item2" - }; - model model2 = new model() - { - HeaderName = "item3" - }; - tabcollection.Add(model); - tabcollection.Add(model1); - tabcollection.Add(model2); + var model1 = new Model { HeaderName = "item1" }; + var model2 = new Model { HeaderName = "item2" }; + var model3 = new Model { HeaderName = "item3" }; + TabCollection.Add(model1); + TabCollection.Add(model2); + TabCollection.Add(model3); } + public ViewModel() { - tabcollection=new ObservableCollection(); - Collection(); + TabCollection = new ObservableCollection(); + PopulateCollection(); } } -public class model:NotificationObject +public class Model : NotificationObject { - public model() {} - private string _headername; + private string _headerName; public string HeaderName { - get - { - return _headername; - } + get { return _headerName; } set { - _headername = value; - this.RaisePropertyChanged("HeaderName"); + _headerName = value; + this.RaisePropertyChanged(nameof(HeaderName)); } } } @@ -123,43 +110,45 @@ public class model:NotificationObject {% highlight VB %} + +' VB.NET Public Class ViewModel Inherits NotificationObject - Private _tabcollection As ObservableCollection(Of model) - Public Property tabcollection() As ObservableCollection(Of model) + Private _tabCollection As ObservableCollection(Of Model) + Public Property TabCollection() As ObservableCollection(Of Model) Get - Return _tabcollection + Return _tabCollection End Get - Set(ByVal value As ObservableCollection(Of model)) - _tabcollection = value + Set(ByVal value As ObservableCollection(Of Model)) + _tabCollection = value End Set End Property - Private Sub Collection() - Dim model As New model() With {.HeaderName = "item1"} - Dim model1 As New model() With {.HeaderName = "item2"} - Dim model2 As New model() With {.HeaderName = "item3"} - tabcollection.Add(model) - tabcollection.Add(model1) - tabcollection.Add(model2) + + Private Sub PopulateCollection() + Dim model1 As New Model() With {.HeaderName = "item1"} + Dim model2 As New Model() With {.HeaderName = "item2"} + Dim model3 As New Model() With {.HeaderName = "item3"} + TabCollection.Add(model1) + TabCollection.Add(model2) + TabCollection.Add(model3) End Sub + Public Sub New() - tabcollection = New ObservableCollection(Of model)() - Collection() + TabCollection = New ObservableCollection(Of Model)() + PopulateCollection() End Sub End Class -Public Class model +Public Class Model Inherits NotificationObject - Public Sub New() - End Sub - Private _headername As String + Private _headerName As String Public Property HeaderName() As String Get - Return _headername + Return _headerName End Get Set(ByVal value As String) - _headername = value - Me.RaisePropertyChanged("HeaderName") + _headerName = value + Me.RaisePropertyChanged(NameOf(HeaderName)) End Set End Property End Class @@ -168,18 +157,20 @@ End Class {% endtabs %} -To handle the `SelectionChanged` event of the TabControlExt in ViewModel, use `TabControlExtSelectionChangedCommand` and define a SelectionChanged command using `ICommand`. -The `TabControlExtSelectionChangedCommand` command is available in `Syncfusion.Tools.MVVM.WPF` assembly. It also requires `Syncfusion.Shared.MVVM.WPF` as a dependency assembly. + +To handle the `SelectionChanged` event of the TabControlExt in the ViewModel, use the `TabControlExtSelectionChangedCommand` and define a `SelectionChanged` command using `ICommand`. +The `TabControlExtSelectionChangedCommand` is available in the `Syncfusion.Tools.MVVM.WPF` assembly. It also requires `Syncfusion.Shared.MVVM.WPF` as a dependency assembly. {% tabs %} {% highlight XAML %} - + + - + @@ -193,19 +184,19 @@ The `TabControlExtSelectionChangedCommand` command is available in `Syncfusion.T {% highlight C# %} -private ICommand selectionchanged; + +private ICommand selectionChanged; public ICommand SelectionChanged { - get - { - return selectionchanged; - } + get { return selectionChanged; } } + public ViewModel() { - selectionchanged = new DelegateCommand(PropertyChangedHandled); + selectionChanged = new DelegateCommand(OnSelectionChanged); } -private void PropertyChangedHandled (object obj) + +private void OnSelectionChanged(object obj) { MessageBox.Show("Command Executed"); } @@ -214,18 +205,21 @@ private void PropertyChangedHandled (object obj) {% highlight VB %} -Private selectionchanged_Renamed As ICommand + +Private selectionChanged As ICommand Public ReadOnly Property SelectionChanged() As ICommand Get - Return selectionchanged_Renamed + Return selectionChanged End Get End Property + Public Sub New() - selectionchanged_Renamed = New DelegateCommand(Of Object)(AddressOf PropertyChangedHandled) + selectionChanged = New DelegateCommand(Of Object)(AddressOf OnSelectionChanged) End Sub -Private Sub PropertyChangedHandled(ByVal obj As Object) + +Private Sub OnSelectionChanged(ByVal obj As Object) MessageBox.Show("Command Executed") -End Sub +End Sub {% endhighlight %} @@ -247,8 +241,9 @@ The following section covers how to use commands in code-behind using ViewModel. {% highlight XAML %} - {% endhighlight %} @@ -260,7 +255,8 @@ The following section covers how to use commands in code-behind using ViewModel. {% highlight C# %} -private void PropertyChangedHandled (object obj) + +private void OnSelectionChanged(object obj) { MessageBox.Show(obj.ToString()); } @@ -269,7 +265,8 @@ private void PropertyChangedHandled (object obj) {% highlight VB %} -Private Sub PropertyChangedHandled(ByVal obj As Object) + +Private Sub OnSelectionChanged(ByVal obj As Object) MessageBox.Show(obj.ToString()) End Sub @@ -288,10 +285,10 @@ Any property can bind with the `CommandParameter` to pass it as command in ViewM {% highlight XAML %} - + + {% endhighlight %} @@ -302,18 +299,20 @@ Any property can bind with the `CommandParameter` to pass it as command in ViewM {% highlight C# %} -private void PropertyChangedHandled (object obj) + +private void OnSelectionChanged(object obj) { - MessageBox.Show("SelectedItem" +obj.ToString()); + MessageBox.Show("SelectedItem: " + obj.ToString()); } {% endhighlight %} {% highlight VB %} -Private Sub PropertyChangedHandled(ByVal obj As Object) - MessageBox.Show("SelectedItem" & obj.ToString()) -End Sub + +Private Sub OnSelectionChanged(ByVal obj As Object) + MessageBox.Show("SelectedItem: " & obj.ToString()) +End Sub {% endhighlight %} diff --git a/wpf/Themes/Fluent-Theme.md b/wpf/Themes/Fluent-Theme.md index aa87c8b5f..38c5d46d4 100644 --- a/wpf/Themes/Fluent-Theme.md +++ b/wpf/Themes/Fluent-Theme.md @@ -9,12 +9,16 @@ documentation: ug # Getting Started with WPF Fluent Theme -[Fluent Theme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html) provides an elegant UI design with reveal animation, [high visibility keyboard visual](https://help.syncfusion.com/wpf/themes/keyboard-focus-visual), and acrylic effect for Windows in WPF application. The following theme variants are supported: -* Fluent Light Theme -* Fluent Dark Theme +[Fluent Theme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html) provides an elegant UI design with reveal animation, [high visibility keyboard visual](https://help.syncfusion.com/wpf/themes/keyboard-focus-visual), and acrylic effect for Windows in a WPF application. The following theme variants are supported: -The following example shows how to apply fluent dark theme for WPF Window using [skin manager](https://help.syncfusion.com/wpf/themes/skin-manager). When applying the theme to Window, the same theme will be applied to all of its child elements. +* Fluent Light Theme (theme name: `FluentLight`) +* Fluent Dark Theme (theme name: `FluentDark`) + + +## Applying the Fluent theme + +The following example shows how to apply the Fluent Dark theme to a WPF Window using the [Skin Manager](https://help.syncfusion.com/wpf/themes/skin-manager). When applying the theme to the Window, the same theme will be applied to all of its child elements. To apply the Fluent Light theme instead, change the `ThemeName` value to `FluentLight`. {% tabs %} @@ -51,19 +55,17 @@ N> The reveal animation is enabled by default. ### Hover reveal effect -By using the [HoverEffectMode](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_HoverEffectMode) property, you can enable or disable the reveal animation while hovering over the controls. - -The [HoverEffect](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.HoverEffect.html) enum contains following values: -* `Background` - The hover reveal animation effect will be applied only for control Background. +Use the [HoverEffectMode](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_HoverEffectMode) property to enable or disable the reveal animation while hovering over the controls. -* `BackgroundAndBorder` - The hover reveal animation effect will be applied for both control Border and Background. - -* `Border` - The hover reveal animation effect will be applied only for control Border. +The [HoverEffect](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.HoverEffect.html) enum contains the following values: +* `Background` - The hover reveal animation effect will be applied only for the control Background. +* `BackgroundAndBorder` - The hover reveal animation effect will be applied for both the control Border and Background. +* `Border` - The hover reveal animation effect will be applied only for the control Border. * `None` - The hover reveal animation effect will be disabled. -N> The default value is `HoverEffect.BackgroundAndBorder`. +N> The default value is `HoverEffect.BackgroundAndBorder`. {% tabs %} @@ -94,15 +96,16 @@ N> The default value is `HoverEffect.BackgroundAndBorder`. ### Pressed effect -The [PressedEffectMode](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_PressedEffectMode) property can be used to enable or disable the reveal animation when a control is pressed with the mouse or a touch. + +The [PressedEffectMode](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_PressedEffectMode) property can be used to enable or disable the reveal animation when a control is pressed with the mouse or touch. The [PressedEffect](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.PressedEffect.html) enum contains the following values: -* `Glow` - The glow animation effect will be applied when pressed with the mouse or touch. -* `Reveal` - The reveal animation effect will be applied when pressed with the mouse or touch. -* `None` - The pressed animation effect will be disabled. +* `Glow` - Applies a glow animation effect when pressed. +* `Reveal` - Applies a reveal animation effect when pressed. +* `None` - Disables the pressed animation effect. -N> The default value is `PressedEffect.Reveal`. +N> The default value is `PressedEffect.Reveal`. {% tabs %} @@ -133,9 +136,10 @@ N> The default value is `PressedEffect.Reveal`. ## Acrylic window background -The transparent blurred acrylic background can be enabled or disabled for windows using the [ShowAcrylicBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_ShowAcrylicBackground) property. -N> The default value is `false`. +A translucent blurred acrylic background can be enabled or disabled for windows using the [ShowAcrylicBackground](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.FluentTheme.html#Syncfusion_SfSkinManager_FluentTheme_ShowAcrylicBackground) property. + +N> The default value is `false`. {% tabs %} diff --git a/wpf/Themes/Skin-Manager.md b/wpf/Themes/Skin-Manager.md index e17d00fd3..cdba9001e 100644 --- a/wpf/Themes/Skin-Manager.md +++ b/wpf/Themes/Skin-Manager.md @@ -8,7 +8,7 @@ documentation: ug --- # Getting Started with WPF Skin Manager -The [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html) helps you to apply the themes for both Syncfusion® and Framework controls. +The [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html) helps you apply themes for both Syncfusion® and Framework controls. ## Themes list @@ -124,7 +124,7 @@ Syncfusion.Themes.SystemTheme.Wpf.dll
Assembly references
-## Apply a theme to a control +## Apply a Theme to a Control ### Add SkinManager reference @@ -151,14 +151,14 @@ There are several ways to include the Syncfusion® [SfSkinManager] ### Add a theme assembly reference -The [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html) supports to apply themes listed in [themes list](https://help.syncfusion.com/wpf/themes/skin-manager#themes-list). To use a theme in the application, add Reference to the corresponding theme assembly. For example, to apply `Windows11Light` theme, attach `Syncfusion.Themes.Windows11Light.Wpf` assembly or [NuGet](https://www.nuget.org/packages/Syncfusion.Themes.Windows11Light.WPF/) reference to the project. While applying a theme to a Window, SkinManager inherits the same theme to all the elements inside the Window. +The [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html) supports applying themes listed in [themes list](https://help.syncfusion.com/wpf/themes/skin-manager#themes-list). To use a theme in the application, add Reference to the corresponding theme assembly. For example, to apply `Windows11Light` theme, attach `Syncfusion.Themes.Windows11Light.Wpf` assembly or [NuGet](https://www.nuget.org/packages/Syncfusion.Themes.Windows11Light.WPF/) reference to the project. While applying a theme to a Window, SkinManager inherits the same theme to all the elements inside the Window. ![Add theme assembly reference](Skin-Manager_images/Add-Windows11Light-Theme-Assembly-Reference.png) ### Set theme -Themes will be applied to both Syncfusion® and Framework controls by using [Theme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html#Syncfusion_SfSkinManager_SfSkinManager_ThemeProperty) attached property of the [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html). Also Ensure that the `ApplyThemeAsDefaultStyle` property is set to `true` before calling the SetTheme method +Themes will be applied to both Syncfusion® and Framework controls by using [Theme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html#Syncfusion_SfSkinManager_SfSkinManager_ThemeProperty) attached property of the [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html). Also ensure that the `ApplyThemeAsDefaultStyle` property is set to `true` before calling the SetTheme method. N> While applying the theme to a Window or any element, `SkinManager` inherits the same theme to all its descendants. @@ -207,15 +207,15 @@ SfSkinManager.SetTheme(this, new Theme("Windows11Light")); N> [View sample in GitHub](https://github.com/SyncfusionExamples/wpf-themes-demo-using-skinmanager). -## Apply a theme globally in the application +## Apply a Theme Globally in the Application To apply a theme globally in an application, set the theme using `ApplicationTheme` attached property of the SfSkinManager in the constructor of your MainWindow. This ensures that the selected theme is automatically applied to any new windows when they are loaded. If you set the theme using the `ApplicationTheme` attached property of [SfSkinManager](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html), you don’t need to set it again using the [Theme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html#Syncfusion_SfSkinManager_SfSkinManager_ThemeProperty) attached property in xaml or by using [SetTheme](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html#Syncfusion_SfSkinManager_SfSkinManager_SetTheme_System_Windows_DependencyObject_Syncfusion_SfSkinManager_Theme_) in code behind. -Also ensure that the `ApplyThemeAsDefaultStyle` property is set to `true` +Also ensure that the `ApplyThemeAsDefaultStyle` property is set to `true`. -N> The `SfSkinManager.ApplicationTheme` static property should be set before `InitializeComponent` of the window or during application start up, when applying for multiple windows. +N> The `SfSkinManager.ApplicationTheme` static property should be set before `InitializeComponent` of the window or during application startup, when applying for multiple windows. {% tabs %} @@ -239,13 +239,13 @@ public partial class MainWindow : Window ## Customization -### Customize theme colors and fonts in the application +### Customize Theme Colors and Fonts in the Application To customize the theme colors and fonts in the application, call [RegisterThemeSettings](https://help.syncfusion.com/cr/wpf/Syncfusion.SfSkinManager.SfSkinManager.html#Syncfusion_SfSkinManager_SfSkinManager_RegisterThemeSettings_System_String_Syncfusion_SfSkinManager_IThemeSetting_) method and pass the theme name and respective theme setting instance as parameters. -Each theme supported by the theme studio has its own theme settings class, which begins with the prefix of the themes' name. For example, if the theme name is `Windows11Light`, then there will be theme settings class called `Windows11LightThemeSettings`. +Each theme supported by the theme studio has its own theme settings class, which begins with the theme name as a prefix. For example, if the theme name is `Windows11Light`, then there will be theme settings class called `Windows11LightThemeSettings`. -N> Need to register theme settings before setting respective themes for window or control. +N> You need to register theme settings before setting respective themes for window or control. Please find the complete list of theme names, respective theme settings class, and supported palette. @@ -509,6 +509,7 @@ This applies the WPFPrimaryButtonStyle to the button, overriding its default sty You can retrieve the styles for specific controls from the [Resource Key list](https://help.syncfusion.com/wpf/themes/skin-manager#resource-key-list) according to your requirements. + In the example below, a ComboBox is used to toggle between the Windows11Light and Windows11Dark themes. Two buttons are displayed: one applies a different style (WPFPrimaryButtonStyle), while the other uses a different background brush (ErrorBackground). {% tabs %} @@ -575,7 +576,7 @@ The control style is resolved automatically from the active theme. ![Basic StyleVariant output](Skin-Manager_images/StyleVariant-Basic.png) -#### Apply StyleVariant with custom style +#### Apply StyleVariant with Custom Style You can also combine StyleVariant with a custom Style to override or extend properties. @@ -620,7 +621,7 @@ SfSkinManager.SetTheme(this, new Theme("Windows11Dark")); ![StyleVariant with custom style output](Skin-Manager_images/StyleVariant-Custom.png) -### Accessing Theme Resources Using TryFindResource +### 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. @@ -683,7 +684,7 @@ if (currentTheme.ThemeName == "Windows11Light") {% 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. +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** @@ -744,7 +745,7 @@ This example demonstrates how to dynamically apply a button style, foreground co - + @@ -849,9 +850,9 @@ This example demonstrates how to dynamically apply a button style, foreground co
Control NameKey Name
AutoCompleteSyncfusionAutoCompleteStyle
AssistViewSyncfusionChatStyle
AssistViewSyncfusionAssistViewStyle
AvatarViewSyncfusionAvatarViewStyle
BusyIndicatorSyncfusionBusyIndicatorStyle
ButtonAdvSyncfusionButtonAdvStyle
WizardControlSyncfusionWizardControlStyle
-## Apply themes to the controls derived from Syncfusion® controls +## Apply Themes to the Controls Derived from Syncfusion® Controls -To apply themes to a derived control using `SfSkinManager`, assign the base control type to the DefaultStyleKey property in the constructor of your derived control.Also ensure that the `ApplyThemeAsDefaultStyle` property is set to `true` in the MainWindow Constructor. +To apply themes to a derived control using `SfSkinManager`, assign the base control type to the DefaultStyleKey property in the constructor of your derived control. Also ensure that the `ApplyThemeAsDefaultStyle` property is set to `true` in the MainWindow constructor. {% tabs %} @@ -900,9 +901,9 @@ public class SfDataGridExt : SfDataGrid {% endtabs %} -### Apply customized theme from Theme Studio +### Apply Customized Theme from Theme Studio -Create custom themes by [modifying the existing themes from Theme studio](https://help.syncfusion.com/wpf/themes/theme-studio#creating-custom-theme). To apply a custom theme in the application by using the following reference. +Create custom themes by [modifying the existing themes from Theme Studio](https://help.syncfusion.com/wpf/themes/theme-studio#creating-custom-theme). To apply a custom theme in the application, use the following reference. {% tabs %} @@ -922,7 +923,7 @@ SfSkinManager.SetTheme(this, new Theme("Windows11LightYellow")); {% endtabs %} -### Apply custom style to active theme +### Apply Custom Style to Active Theme You can customize the theme by setting the `ApplyThemeAsDefaultStyle` property to `true`, which applies the theme based on each control’s default style. @@ -936,7 +937,7 @@ SfSkinManager.ApplyThemeAsDefaultStyle = true; {% endtabs %} -N>The `SfSkinManager.ApplyThemeAsDefaultStyle` static property should be set before `InitializeComponent` of the window or during application start up. +N>The `SfSkinManager.ApplyThemeAsDefaultStyle` static property should be set before `InitializeComponent` of the window or during application startup. Enabling this setting allows you to override default theme styles. Follow the steps below to implement this behavior: @@ -991,9 +992,9 @@ public partial class MainWindow : Window ![Customizing theme styles for buttons](Skin-Manager_images/Customizing-theme-styles-for-buttons.png) -You can also change a theme dynamically with custom styles. +You can also change a theme dynamically with custom styles. -In the following example, a ComboBox is used to toggle between the Windows11Light and Windows11Dark themes. Here we customize the foreground color of the Button to red. +In the following example, a ComboBox is used to toggle between the Windows11Light and Windows11Dark themes. The foreground color of the Button is customized to red. {% tabs %} diff --git a/wpf/Themes/Theme-Studio.md b/wpf/Themes/Theme-Studio.md index bb194adbc..99bd5bfaa 100644 --- a/wpf/Themes/Theme-Studio.md +++ b/wpf/Themes/Theme-Studio.md @@ -92,9 +92,9 @@ The WPF Theme Studio comes with various sets of palettes for each theme variant.
  • Cyan
  • CyanBlue
  • Blue
  • -
  • BlueMegenta
  • -
  • Megenta
  • -
  • MegentaPink
  • +
  • BlueMagenta
  • +
  • Magenta
  • +
  • MagentaPink
  • diff --git a/wpf/right-to-left.md b/wpf/right-to-left.md index 2b96e0f6c..22cea1f8a 100644 --- a/wpf/right-to-left.md +++ b/wpf/right-to-left.md @@ -1,7 +1,7 @@ --- layout: post title: Right-to-Left support in Syncfusion WPF UI Controls | Syncfusion -description: Learn about Right-to-Left (RTL) support in Syncfusion WPF UI Controls and more details. All Syncfusion controls supports Right to Left. +description: Learn about Right-to-Left (RTL) support in Syncfusion WPF UI Controls and more. All Syncfusion controls support Right-to-Left. platform: wpf control: RightToLeft documentation: ug @@ -9,6 +9,78 @@ documentation: ug # Right-to-Left support in Syncfusion® WPF Controls -Right-to-Left(RTL) support displays the content from right-to-left direction by setting the [FlowDirection](https://docs.microsoft.com/en-us/dotnet/api/system.windows.flowdirection) property to `RightToLeft`. This is helpful to support the Right-to-Left scripted languages like Arabic, Hebrew, Urdu, etc. -All WPF Syncfusion® controls support Right-to-Left (RTL) based on `FlowDirection` property. In addition to that, all controls provide [localization](https://help.syncfusion.com/wpf/localization) support to change language of strings used in control specific to any culture. \ No newline at end of file +Right-to-Left (RTL) support displays the content from right-to-left direction by setting the [FlowDirection](https://docs.microsoft.com/en-us/dotnet/api/system.windows.flowdirection) property to `RightToLeft`. This is helpful to support the Right-to-Left scripted languages like Arabic, Hebrew, Urdu, etc. + +All WPF Syncfusion® controls support Right-to-Left (RTL) based on the `FlowDirection` property. In addition to that, most controls provide [localization](Localization.md) support to change the language of strings used in the control for any specific culture. + +## Prerequisites + +* A Syncfusion WPF application project must be available with at least one Syncfusion control hosted on a window or page. +* For supported .NET Framework / .NET versions and Visual Studio versions, see [System Requirements](System-Requirements.md). +* RTL support relies on the WPF `FlowDirection` property and works on any control that inherits from `FrameworkElement`. + +## FlowDirection enum values + +The `FlowDirection` property accepts the following values from the `System.Windows.FlowDirection` enumeration: + +* `LeftToRight` – Default value. Content flows from left to right. +* `RightToLeft` – Content flows from right to left; used for RTL languages. +* `Inherit` – Inherits the `FlowDirection` value from the parent element in the visual tree. + +## Enabling Right-to-Left + +RTL can be enabled at the application/window level (so all child controls inherit it) or at the individual control level. + +### Enable RTL at the window level (XAML) + +Set `FlowDirection` on the `Window` (or `Page`) so that all contained Syncfusion controls inherit the RTL layout: + +```xml + + + + + +``` + +### Enable RTL on a single control (XAML) + +To scope RTL to a specific Syncfusion control, set `FlowDirection` directly on that control: + +```xml + +``` + +### Enable RTL in code-behind (C#) + +```csharp +using System.Windows; + +// Set RTL on the window so all child controls inherit it. +this.FlowDirection = FlowDirection.RightToLeft; + +// Or set RTL on a specific control. +buttonAdv.FlowDirection = FlowDirection.RightToLeft; +``` + +## Version compatibility + +RTL support through `FlowDirection` is available in all Syncfusion WPF control releases that target .NET Framework 4.0+ and .NET (Core) 3.1+, since it is inherited from the WPF framework. Refer to the [Syncfusion WPF release notes](Release-notes/) for version-specific behavior. + +## Supported controls and limitations + +* All Syncfusion WPF controls that derive from `FrameworkElement` honor `FlowDirection="RightToLeft"`. +* Complex composite controls (for example, data grids, schedulers, and diagrams) mirror their layout; however, some nested graphical elements may not fully mirror and should be visually verified after enabling RTL. +* RTL affects layout direction only; to translate display strings, combine RTL with [localization](Localization.md). + +## See also + +* [Localization](Localization.md) +* [System Requirements](System-Requirements.md) \ No newline at end of file diff --git a/wpf/samples.md b/wpf/samples.md index 50e279b37..def504b59 100644 --- a/wpf/samples.md +++ b/wpf/samples.md @@ -7,54 +7,84 @@ control: Featured Samples documentation: ug --- + # Featured Samples for Syncfusion® WPF Controls +## Prerequisites + +* **Essential Studio® for WPF** must be installed. See the [Installation](Installation/) topic for setup steps. +* To open sample source from the Sample Browser, a supported edition of **Visual Studio** must be installed. See [System Requirements](System-Requirements.md) for supported versions. +* Running samples requires a **Syncfusion runtime license key**. See [Licensing](Licensing/) for details on registering a license key. +* The offline and online samples target either **.NET Framework** or **.NET** (formerly .NET Core). Refer to the [Syncfusion WPF release notes](Release-notes/) for the specific framework versions supported by each sample set. + ## Syncfusion® WPF Controls Panel -To explore Syncfusion® WPF controls and components, Open `Syncfusion® WPF Controls Panel` by searching it from start and open. +To explore Syncfusion® WPF controls and components, open the **Syncfusion WPF Controls Panel** by typing "Syncfusion WPF" in the Windows Start menu search and clicking the matching result. ![WPF Control Panel Search](Guidetorunthesamples_images/wpf-control-panel-search.png) -In another way, open the Control Panel from the following installed location. +Alternatively, open the Control Panel from the following installed location: +``` C:\Program Files (x86)\Syncfusion\Essential Studio\WPF\{{ site.releaseversion }}\Infrastructure\Launcher\Syncfusion WPF Control Panel.exe +``` -N> In above section, latest Essential Studio® version details has been provided. You can refer installed Essential Studio® version instead of mentioned version. +N> The path above uses the latest Essential Studio® version. Refer to the installed Essential Studio® version instead of the one mentioned. ![Syncfusion WPF Controls Panel](Guidetorunthesamples_images/syncfusion-wpf-controls-panel.PNG) ## WPF Sample Browser -To explore the locally installed demos, click `Run Local Demos` and select either `.NET Core` or `.NET FrameWork`, which will open `WPF Sample Browser`. +To explore the locally installed demos, click `Run Local Demos` and select either **.NET** or **.NET Framework**, which will open the `WPF Sample Browser`. ![Syncfusion WPF Sample Browser](Guidetorunthesamples_images/syncfusion-wpf-sample-browser.PNG) ## Offline Samples -The Offline samples are available in the following installed location where you can make changes and further exploration of controls. +The offline samples are available at the following installed location, where you can make changes and further explore the controls: +``` C:\Users\Public\Documents\Syncfusion\WPF\{{ site.releaseversion }}\ +``` -The offline samples can also be explored directly from the `Syncfusion® WPF Sample Browser` and opened in Visual Studio by running the required sample and selecting the `Open source code in visual studio`. +The offline samples can also be explored directly from the `Syncfusion® WPF Sample Browser` and opened in Visual Studio by running the required sample and selecting `Open source code in Visual Studio`. ![Exploring Syncfusion WPF Samples from Syncfusion WPF Sample Browser](Guidetorunthesamples_images/Exploring-syncfusion-wpf-Showcase-sample-from-SB.PNG) +N> If a sample fails to load, ensure the file is unblocked (right-click the file > **Properties** > check **Unblock**) and that the target .NET Framework / .NET SDK and Visual Studio version are installed. + ### Offline showcase samples -To explore any individual showcase sample from the `Syncfusion® WPF Sample Browser`, Click `Explore Demo Source` and navigate to `showcase` folder. +To explore any individual showcase sample from the `Syncfusion® WPF Sample Browser`, click `Explore Demo Source` and navigate to the `showcase` folder. ![Exploring Syncfusion WPF Showcase Samples](Guidetorunthesamples_images/Exploring-syncfusion-wpf-Showcase-sample.PNG) -N> To run the individual control demos, please refer the instruction from [Running Individual Control Demos](https://github.com/syncfusion/wpf-demos#running-individual-control-demos). +N> To run the individual control demos, refer to the instructions in [Running Individual Control Demos](https://github.com/syncfusion/wpf-demos#running-individual-control-demos). ## Online Samples -* Download and install `.Net Framework` demos from [Microsoft Store](https://apps.microsoft.com/detail/9n99kdhrff6g?hl=en-US&gl=US). +Online samples let you explore Syncfusion® WPF controls without installing the full WPF Studio. Samples are available from the **Microsoft Store** (installed demo browser) and from the **GitHub repository** (clone and build). -## Download demos from online (Clone from github repository) +### Microsoft Store demo browser -You can explore Syncfusion® WPF controls using [GitHub WPF demos](https://github.com/syncfusion/wpf-demos), where all wpf demos are configured using `NuGet` to run without installing Syncfusion® WPF Studio. +* Download and install the **.NET Framework** demos from the [Microsoft Store](https://apps.microsoft.com/detail/9n99kdhrff6g?hl=en-US&gl=US). +* After installation completes, launch the installed **Syncfusion WPF Sample Browser** app from the Windows Start menu. ### Download showcase demos from online -You can explore showcase demos from [GitHub WPF demos](https://github.com/syncfusion/wpf-demos/tree/master/showcase). +See the repository's `README` for the required .NET SDK / Visual Studio version. + +1. Clone the repository: + +``` +git clone https://github.com/syncfusion/wpf-demos.git +``` + +2. Open the solution in Visual Studio. +3. Restore NuGet packages (the public nuget.org feed is sufficient). +4. Build and run the desired sample project. +5. Register a Syncfusion runtime license key if prompted — see [Licensing](Licensing/). + +### Online showcase samples + +You can explore the showcase demos from the [GitHub WPF demos showcase folder](https://github.com/syncfusion/wpf-demos/tree/master/showcase).