Files
APIVisualExecutor/docs/api/Nodify_GroupingNode.md
Ankitkumar Satapara 21aaef6776 Add project files.
2026-04-17 22:31:58 +05:30

249 lines
6.9 KiB
Markdown

# GroupingNode Class
**Namespace:** Nodify
**Assembly:** Nodify
**Inheritance:** [Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object) → [DispatcherObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Threading.DispatcherObject) → [DependencyObject](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.DependencyObject) → [Visual](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Visual) → [UIElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.UIElement) → [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) → [Control](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.Control) → [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) → [HeaderedContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl) → [GroupingNode](Nodify_GroupingNode)
**References:** [GroupingMovementMode](Nodify_GroupingMovementMode), [ItemContainer](Nodify_ItemContainer), [NodifyEditor](Nodify_NodifyEditor), [ResizeEventHandler](Nodify_Events_ResizeEventHandler)
Defines a panel with a header that groups [ItemContainer](Nodify_ItemContainer)s inside it and can be resized.
```csharp
public class GroupingNode : HeaderedContentControl
```
## Constructors
### GroupingNode()
Initializes a new instance of the [GroupingNode](Nodify_GroupingNode) class.
```csharp
public GroupingNode();
```
## Fields
### ContentControl
Gets the [ContentControl](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.ContentControl) control of this [GroupingNode](Nodify_GroupingNode).
```csharp
protected FrameworkElement ContentControl;
```
**Field Value**
[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement)
### ElementContent
```csharp
protected const string ElementContent = "PART_Content";
```
**Field Value**
[String](https://docs.microsoft.com/en-us/dotnet/api/System.String)
### ElementHeader
```csharp
protected const string ElementHeader = "PART_Header";
```
**Field Value**
[String](https://docs.microsoft.com/en-us/dotnet/api/System.String)
### ElementResizeThumb
```csharp
protected const string ElementResizeThumb = "PART_ResizeThumb";
```
**Field Value**
[String](https://docs.microsoft.com/en-us/dotnet/api/System.String)
### GroupMovementBoxed
```csharp
protected static object GroupMovementBoxed;
```
**Field Value**
[Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object)
### HeaderControl
Gets the [HeaderedContentControl.Header](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl#header) control of this [GroupingNode](Nodify_GroupingNode).
```csharp
protected FrameworkElement HeaderControl;
```
**Field Value**
[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement)
### ResizeThumb
Gets the [FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement) used to resize this [GroupingNode](Nodify_GroupingNode).
```csharp
protected FrameworkElement ResizeThumb;
```
**Field Value**
[FrameworkElement](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.FrameworkElement)
## Properties
### ActualSize
Gets or sets the actual size of this [GroupingNode](Nodify_GroupingNode).
```csharp
public Size ActualSize { get; set; }
```
**Property Value**
[Size](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Size)
### CanResize
Gets or sets a value that indicates whether this [GroupingNode](Nodify_GroupingNode) can be resized.
```csharp
public bool CanResize { get; set; }
```
**Property Value**
[Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean)
### Container
Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [GroupingNode.Container](Nodify_GroupingNode#container).
```csharp
protected ItemContainer Container { get; set; }
```
**Property Value**
[ItemContainer](Nodify_ItemContainer)
### Editor
Gets the [NodifyEditor](Nodify_NodifyEditor) that owns this [GroupingNode](Nodify_GroupingNode).
```csharp
protected NodifyEditor Editor { get; set; }
```
**Property Value**
[NodifyEditor](Nodify_NodifyEditor)
### HeaderBrush
Gets or sets the brush used for the background of the [HeaderedContentControl.Header](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Controls.HeaderedContentControl#header) of this [GroupingNode](Nodify_GroupingNode).
```csharp
public Brush HeaderBrush { get; set; }
```
**Property Value**
[Brush](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Media.Brush)
### MovementMode
Gets or sets the default movement mode which can be temporarily changed by holding the SwitchMovementModeModifierKey while dragging by the header.
```csharp
public GroupingMovementMode MovementMode { get; set; }
```
**Property Value**
[GroupingMovementMode](Nodify_GroupingMovementMode)
### ResizeCompletedCommand
Invoked when the [GroupingNode.ResizeCompleted](Nodify_GroupingNode#resizecompleted) event is not handled.
Parameter is the [ItemContainer.ActualSize](Nodify_ItemContainer#actualsize) of the container.
```csharp
public ICommand ResizeCompletedCommand { get; set; }
```
**Property Value**
[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand)
### ResizeStartedCommand
Invoked when the [GroupingNode.ResizeStarted](Nodify_GroupingNode#resizestarted) event is not handled.
Parameter is the [ItemContainer.ActualSize](Nodify_ItemContainer#actualsize) of the container.
```csharp
public ICommand ResizeStartedCommand { get; set; }
```
**Property Value**
[ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand)
## Methods
### OnApplyTemplate()
```csharp
public override void OnApplyTemplate();
```
### ToggleContentSelection()
Toggles the selection of nodes inside this group.
If any contained nodes are selected, all will be unselected.
If none are selected, all will be selected.
```csharp
public void ToggleContentSelection();
```
## Events
### ResizeCompleted
Occurs when the node finished resizing.
```csharp
public event ResizeEventHandler ResizeCompleted;
```
**Event Type**
[ResizeEventHandler](Nodify_Events_ResizeEventHandler)
### ResizeStarted
Occurs when the node started resizing.
```csharp
public event ResizeEventHandler ResizeStarted;
```
**Event Type**
[ResizeEventHandler](Nodify_Events_ResizeEventHandler)