From bbfb6b28c0363cf9f56f6632ddaf35348ee8ed11 Mon Sep 17 00:00:00 2001 From: tznind Date: Fri, 22 Jan 2021 22:08:47 +0000 Subject: [PATCH] added csharp syntax to markdown --- docfx/articles/treeview.md | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/docfx/articles/treeview.md b/docfx/articles/treeview.md index 84a05e82c..164ad7184 100644 --- a/docfx/articles/treeview.md +++ b/docfx/articles/treeview.md @@ -16,8 +16,6 @@ var tree = new TreeView() Height = 20 }; -Win.Add(tree); - var root1 = new TreeNode("Root1"); root1.Children.Add(new TreeNode("Child1.1")); root1.Children.Add(new TreeNode("Child1.2")); @@ -34,7 +32,7 @@ tree.AddObject(root2); Having to create a bunch of TreeNode objects can be a pain especially if you already have your own objects e.g. `House`, `Room` etc. There are two ways to use your own classes without having to create nodes manually. Firstly you can implement the `ITreeNode` interface: -``` +```csharp // Your data class private class House : ITreeNode { @@ -67,11 +65,11 @@ private class Room : ITreeNode{ return Name; } } +``` +After implementing the interface you can add your objects directly to the tree -... - -// After implementing the interface you can add your objects directly to the tree +```csharp var myHouse = new House() { @@ -93,7 +91,6 @@ var tree = new TreeView() tree.AddObject(myHouse); - ``` Alternatively you can simply tell the tree how the objects relate to one another by implementing `ITreeBuilder`. This is a good option if you don't have control of the data objects you are working with. @@ -161,7 +158,7 @@ private class GameObjectTreeBuilder : ITreeBuilder { To use the builder in a tree you would use: -``` +```csharp var army1 = new Army() { Designation = "3rd Infantry", @@ -187,7 +184,7 @@ tree.AddObject(army1); Alternatively you can use `DelegateTreeBuilder` instead of implementing your own `ITreeBuilder`. For example: -``` +```csharp tree.TreeBuilder = new DelegateTreeBuilder( (o)=>o is Army a ? a.Units : Enumerable.Empty()); @@ -197,7 +194,7 @@ tree.TreeBuilder = new DelegateTreeBuilder( The default behaviour of TreeView is to use the `ToString` method on the objects for rendering. You can customise this by changing the `AspectGetter`. For example: -``` +```csharp treeViewFiles.AspectGetter = (f)=>f.FullName; ```