diff --git a/ScreenShot/CheckBoxStateUpdateTreeViewXamarin.png b/ScreenShot/CheckBoxStateUpdateTreeViewXamarin.png
index a8fa8af..b412451 100644
Binary files a/ScreenShot/CheckBoxStateUpdateTreeViewXamarin.png and b/ScreenShot/CheckBoxStateUpdateTreeViewXamarin.png differ
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.Android/TreeViewXamarin.Android.csproj b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.Android/TreeViewXamarin.Android.csproj
index cd38ed6..2745644 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.Android/TreeViewXamarin.Android.csproj
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.Android/TreeViewXamarin.Android.csproj
@@ -50,10 +50,10 @@
- 19.1.0.55
+ 19.1.0.57
- 19.1.0.55
+ 19.1.0.57
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.UWP/TreeViewXamarin.UWP.csproj b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.UWP/TreeViewXamarin.UWP.csproj
index a1fd231..758037a 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.UWP/TreeViewXamarin.UWP.csproj
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.UWP/TreeViewXamarin.UWP.csproj
@@ -144,10 +144,10 @@
- 19.1.0.55
+ 19.1.0.57
- 19.1.0.55
+ 19.1.0.57
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.iOS/TreeViewXamarin.iOS.csproj b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.iOS/TreeViewXamarin.iOS.csproj
index d80041e..eb97414 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.iOS/TreeViewXamarin.iOS.csproj
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.iOS/TreeViewXamarin.iOS.csproj
@@ -149,10 +149,10 @@
- 19.1.0.55
+ 19.1.0.57
- 19.1.0.55
+ 19.1.0.57
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Helper/TreeViewBehavior.cs b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Helper/TreeViewBehavior.cs
index d7ff85f..45d723f 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Helper/TreeViewBehavior.cs
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Helper/TreeViewBehavior.cs
@@ -45,36 +45,46 @@ private void UpdateCheckBoxState()
var checkedNodes = TreeView.GetCheckedNodes();
foreach (var node in checkedNodes)
{
- //Update child nodes based on parent's checked state.
if (node.ParentNode == null && node.HasChildNodes)
{
- setChildChecked(node);
+ //Update child nodes based on parent's checked state.
+ SetChildChecked(node);
}
- //Update parent node based on child's checked state.
- else if (node.ParentNode != null)
+ else
{
- if (node.ParentNode.ChildNodes.All(x => x.IsChecked == true))
- {
- node.ParentNode.IsChecked = true;
- }
- else node.ParentNode.IsChecked = null;
+ //Update parent node based on child's checked state.
+ SetParentChecked(node);
}
-
}
}
- private void setChildChecked(TreeViewNode node)
+ private void SetChildChecked(TreeViewNode node)
{
foreach (var child in node.ChildNodes)
{
child.IsChecked = true;
if (child.HasChildNodes)
{
- setChildChecked(child);
+ SetChildChecked(child);
}
}
}
+
+ private void SetParentChecked(TreeViewNode node)
+ {
+ if (node.ParentNode == null) return;
+
+ if (node.ParentNode.ChildNodes.All(x => x.IsChecked == true))
+ node.ParentNode.IsChecked = true;
+
+ else node.ParentNode.IsChecked = null;
+
+ if(node.ParentNode != null)
+ {
+ SetParentChecked(node.ParentNode);
+ }
+ }
#endregion
}
}
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.csproj b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.csproj
index 5ae5ca5..7f9d19a 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.csproj
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin.csproj
@@ -16,8 +16,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/ViewModel/FileManagerViewModel.cs b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/ViewModel/FileManagerViewModel.cs
index c83de21..175d8ef 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/ViewModel/FileManagerViewModel.cs
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/ViewModel/FileManagerViewModel.cs
@@ -111,8 +111,7 @@ private ObservableCollection GetFiles()
checkedItems.Add(doc);
checkedItems.Add(typeScript);
checkedItems.Add(uiGuide);
- checkedItems.Add(stone);
- checkedItems.Add(pictures);
+ checkedItems.Add(img1);
checkedItems.Add(song);
return nodeImageInfo;
diff --git a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Views/MainPage.xaml b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Views/MainPage.xaml
index a676b19..6acd03f 100644
--- a/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Views/MainPage.xaml
+++ b/TreeViewXamarin/TreeViewXamarin/TreeViewXamarin/Views/MainPage.xaml
@@ -11,26 +11,27 @@
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file