节点是节点编辑器的基本组件。它们被包装在[`ItemContainer`](项目容器概述)中,并且可以是任何自定义控件。(例如,TextBlock)
以下是库中包含的节点:
### 1. ```Node``` 控件
这种类型的节点支持```Input```和```Output```连接器,可以随意移动。
```xml
In 0
In 1
Out 0
Out 1
```
节点的`Header`可以使用`HeaderTemplate`进行自定义。同样,节点的`Footer`可以使用`FooterTemplate`进行自定义。
`Input`集合中的每个项目可以使用`InputConnectorTemplate`进行自定义。同样,`Output`可以使用`OutputConnectorTemplate`进行自定义。

### 2. ```GroupingNode``` 控件
这种类型的节点可以调整大小,如果通过```Header```拖动,它将移动其内部的节点。
如果按住```SwitchMovementModeModifierKey```(默认情况下为**Shift**键),它将移动而不会移动其子节点。
```xml
```
节点的`Header`可以使用`HeaderTemplate`进行自定义。同样,节点的`Content`可以使用`ContentTemplate`进行自定义。
节点的大小可以通过更改`ActualSize`依赖属性的值来编程设置。
#### 默认值
* CanResize: true
* MovementMode: Grouped
#### 命令
* ResizeCompleted
* ResizeStarted

### 3. ```KnotNode``` 控件
这种类型的控件可以用于重新排布(reroute)```Connection```,因为它只支持一个```Connector```。
节点的`Content`可以使用`ContentTemplate`进行自定义。
```xml
```

### 4. ```StateNode``` 控件
这种类型的节点本身就是一个```Connector```,这意味着它将在交互时引发```PendingConnection```事件。由于它继承自`Connector`,你需要将`Anchor`属性和`IsConnected`绑定到相应的状态。(如果`IsConnected`设置为false,连接将不会更新)
```xml
```
节点的`Content`可以使用`ContentTemplate`进行自定义。
