Edit this page

How to Disable the Close Button

The purpose of this tutorial is to show you how to disable/hide the close ("X") button.

For more information about the RadPane and its visual elements, read here.

There are two solutions for disabling the close button:

  • Setting the CanUserClose property

  • Handling the PreviewClose event

Setting the CanUserClose Property

The first way to disable the close button is to simply hide it. In order to do that you need to set the CanUserClose property of the RadPane to False. See the following example.

Here is a simple RadDocking declaration with a single pane.

<telerik:RadDocking x:Name="radDocking">
    <telerik:RadDocking.DocumentHost>
        <telerik:RadSplitContainer>
            <telerik:RadPaneGroup >
                <telerik:RadPane x:Name="radPane" Title="Pane 1">
                    <TextBlock Text="Some simple text here"></TextBlock>
                </telerik:RadPane>
            </telerik:RadPaneGroup>
        </telerik:RadSplitContainer>
    </telerik:RadDocking.DocumentHost>
</telerik:RadDocking>

As you can see, by default the close button is enabled and you can close the pane anytime when you click the "X".

So, find your RadPane declaration and set the following attribute:

<telerik:RadPane CanUserClose="False"/>

Now, if you run your application, the close button will be no longer visible.

The same operation can be done in the code-behind. In order to do that, set the CanUserClose property on an instance of the RadPane class to false.

private void HideTheCloseButton()
{
    radPane.CanUserClose = false;
}
Private Sub HideTheCloseButton()
    radPane.CanUserClose = False
End Sub

Note that even the CanUserClose property is set to False, when you drag your pane so that you make it floatable. The window that contains the pane will still have a close button visible. However, you won't be able to close if you try to click the "X" button.

Handling the PreviewClose Event

The second way to disable the close button is to handle the PreviewClose event. So if you take a look again at the initial RadDocking declaration, attach to the PreviewClose event of the RadDocking class.

<telerik:RadDocking x:Name="radDocking1" PreviewClose="radDocking_PreviewClose">

Switch to the code-behind and add the following code in the event handler:

private void radDocking_PreviewClose(object sender, Telerik.Windows.Controls.Docking.StateChangeEventArgs e)
{
    e.Handled = true;
}
Private Sub radDocking_PreviewClose(ByVal sender As Object, ByVal e As StateChangeEventArgs)
    e.Handled = True
End Sub

Run your application. Note that the close button is now visible. However, if you try to click, the pane won't close. The same is valid when your window is floatable.

See Also

Was this article helpful? Yes No

Give article feedback

Tell us how we can improve this article

Dummy