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>
So, find your RadPane declaration and set the following attribute:
<telerik:RadPane CanUserClose="False"/>
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">
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.