From f79f2b62be02dde5b106151c02257686fc740804 Mon Sep 17 00:00:00 2001 From: Sreemon Premkumar M Date: Fri, 22 Aug 2025 16:37:47 +0530 Subject: [PATCH 1/2] ES-975464 - Resolve the ReadMe issue in this sample repository --- README.md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bae3886..83c42f2 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,89 @@ -# How to bind selected items in wpf treeview? -This repository describes how to bind selected items in wpf treeview +# How to bind selected items in WPF TreeView + +This repository describes how to bind selected items in WPF TreeView (SfTreeView). + +TreeView support to select multiple items through binding the [SelectedItems](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.TreeView.SfTreeView.html#Syncfusion_UI_Xaml_TreeView_SfTreeView_SelectedItems) property from view model with `ObservableCollection` type. + +#### XAML + +``` xml + + +``` + +#### C# + +``` csharp +sfTreeView.SelectionMode = SelectionMode.Multiple; +sfTreeView.SetBinding(SfTreeView.SelectedItemsProperty, new Binding("SelectedNodes")); +``` + +``` csharp +public class ViewModel : NotificationObject +{ + public ObservableCollection Items { get; set; } + + public ObservableCollection SelectedNodes { get; set; } + public ViewModel() + { + Items = new ObservableCollection(); + SelectedNodes = new ObservableCollection(); + + var country1 = new Model { State = "Australia" }; + var country2 = new Model { State = "Brazil" }; + var country3 = new Model { State = "China" }; + var country4 = new Model { State = "France" }; + + var aus_state1 = new Model { State = "New South Wales" }; + var aus_state2 = new Model { State = "Victoria" }; + var aus_state3 = new Model { State = "South Autralia" }; + var aus_state4 = new Model { State = "Western Australia" }; + + var brazil_state1 = new Model { State = "Parana" }; + var brazil_state2 = new Model { State = "Ceara" }; + var brazil_state3 = new Model { State = "Acre" }; + + var china_state1 = new Model { State = "Guangzhou" }; + var china_state2 = new Model { State = "Shanghai" }; + var china_state3 = new Model { State = "Beijing" }; + var china_state4 = new Model { State = "Shantou" }; + + var france_state1 = new Model { State = "Pays de la Loire" }; + var france_state2 = new Model { State = "Aquitaine" }; + var france_state3 = new Model { State = "Brittany" }; + var france_state4 = new Model { State = "Lorraine" }; + + country1.Models.Add(aus_state1); + country1.Models.Add(aus_state2); + country1.Models.Add(aus_state3); + country1.Models.Add(aus_state4); + + country2.Models.Add(brazil_state1); + country2.Models.Add(brazil_state2); + country2.Models.Add(brazil_state3); + + country3.Models.Add(china_state1); + country3.Models.Add(china_state2); + country3.Models.Add(china_state3); + country3.Models.Add(china_state4); + + country4.Models.Add(france_state1); + country4.Models.Add(france_state2); + country4.Models.Add(france_state3); + country4.Models.Add(france_state4); + + Items.Add(country1); + Items.Add(country2); + Items.Add(country3); + Items.Add(country4); + + SelectedNodes.Add(aus_state1); + SelectedNodes.Add(aus_state2); + } +} +``` \ No newline at end of file From f3c96771c4ba79a3faacc1b3657107b75e517fff Mon Sep 17 00:00:00 2001 From: SreemonPremkumarMuthukrishnan Date: Wed, 10 Dec 2025 12:06:44 +0530 Subject: [PATCH 2/2] ES-975464 - Modified the code changes and added the image --- README.md | 9 ++++++--- TreeViewWithTwoNodesSelected.png | Bin 0 -> 26019 bytes 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 TreeViewWithTwoNodesSelected.png diff --git a/README.md b/README.md index 83c42f2..f12d3c6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# How to bind selected items in WPF TreeView +# How to Bind Selected Items in WPF TreeView? -This repository describes how to bind selected items in WPF TreeView (SfTreeView). +This repository describes how to bind selected items in [WPF TreeView](https://www.syncfusion.com/wpf-controls/treegrid) (SfTreeView). TreeView support to select multiple items through binding the [SelectedItems](https://help.syncfusion.com/cr/wpf/Syncfusion.UI.Xaml.TreeView.SfTreeView.html#Syncfusion_UI_Xaml_TreeView_SfTreeView_SelectedItems) property from view model with `ObservableCollection` type. @@ -29,6 +29,7 @@ public class ViewModel : NotificationObject public ObservableCollection Items { get; set; } public ObservableCollection SelectedNodes { get; set; } + public ViewModel() { Items = new ObservableCollection(); @@ -86,4 +87,6 @@ public class ViewModel : NotificationObject SelectedNodes.Add(aus_state2); } } -``` \ No newline at end of file +``` + +![TreeView with two nodes selected by binding SelectedItems property](TreeViewWithTwoNodesSelected.png) \ No newline at end of file diff --git a/TreeViewWithTwoNodesSelected.png b/TreeViewWithTwoNodesSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..62b0e7913f434c923bb29edc1ddf830e23327f6b GIT binary patch literal 26019 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 Wy5h5H_Z0p@q^fvP;gQ^x!2bcoTbdmJ literal 0 HcmV?d00001