---
id: "T:cAlgo.API.CustomFrame"
kind: "interface"
namespace: "cAlgo.API"
url: "https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/CustomFrame/"
---

> Documentation index for agents: https://help.ctrader.com/ctrader-algo/llms.txt · machine index: https://help.ctrader.com/ctrader-algo/api.json

# CustomFrame (interface)

Represents a custom frame.

Environments: Desktop supported · CLI not supported · Cloud not supported.

- CLI: Available to plugins only, and plugins cannot run in the CLI.
- Cloud: Available to plugins only, and plugins cannot run in the cloud.

## Definition

```csharp
public interface CustomFrame
```

## Examples

C#:

```csharp
var customFrame = ChartManager.AddCustomFrame("ctrader.com");
var webView = new WebView();
webView.Loaded += _ => webView.NavigateAsync("https://ctrader.com/");
customFrame.Child = webView;
```

Python:

```python
customFrame = api.ChartManager.AddCustomFrame("ctrader.com")
webView = WebView()
webView.Loaded += lambda _: webView.NavigateAsync("https://ctrader.com/")
customFrame.Child = webView
```

## Properties

- `ControlBase Child {get; set;}` — Get / set child control of frame. [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/CustomFrame/Child/index.md)

## Inherited members

- `bool Attach()` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Attach/index.md)
- `bool Attach(ChartContainer targetContainer)` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Attach/index.md)
- `bool Detach()` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Detach/index.md)
- `void Activate()` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Activate/index.md)
- `string Id {get;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Id/index.md)
- `ChartContainer ChartContainer {get;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/ChartContainer/index.md)
- `double Width {get;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Width/index.md)
- `double Height {get;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Height/index.md)
- `bool IsAttached {get;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/IsAttached/index.md)
- `int Index {get; set;}` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Index/index.md)
- `event Action<FrameSizeChangedEventArgs> SizeChanged;` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/SizeChanged/index.md)
- `event Action<FrameAttachedEventArgs> Attached;` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Attached/index.md)
- `event Action<FrameDetachedEventArgs> Detached;` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/Detached/index.md)
- `event Action<FrameContainerChangedEventArgs> ContainerChanged;` (from Frame) [details](https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/ContainerChanged/index.md)

