# CanChangeExpandedState(TreeViewItem)

> Override this method to control whether an item can be expanded or collapsed by key or mouse.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.IMGUI.Controls](/engine/6000.5/script-reference/unityeditor/imgui/controls.md)
* **Assembly:** UnityEditor.CoreModule

> **Warning:**
>
> **Removed.** TreeView is now deprecated. You can likely now use TreeView\\\<int\\> instead and not think more about it. But if you were using that identifier to store InstanceID data, you should instead opt to upgrade your TreeViews to use TreeView\\\<InstanceID\\> to get the proper typing.

```csharp
protected virtual bool CanChangeExpandedState(TreeViewItem item)
```

### Parameters

**** (\[TreeViewItem]\(/engine/6000.5/script-reference/unityeditor/imgui/controls/treeviewitem)): Can this item be expanded/collapsed.

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [bool](https://learn.microsoft.com/dotnet/api/system.boolean) |             |

### Remarks

If this method returns false the foldout arrow for an item will not be shown. Default behavior: if a search is active this method returns false (for search results, no foldout is required since the the results are shown as a flat list). If no search is active then by default it returns true if the item has any children, and false if it has no children.
