Gets or sets a value indicating whether this element is enabled in the user interface (UI). This is a dependency property.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

public bool IsEnabled { get; set; }
property bool IsEnabled {
	virtual bool get() sealed;
	virtual void set(bool value) sealed;
abstract IsEnabled : bool with get, set
override IsEnabled : bool with get, set
Public Property IsEnabled As Boolean

Property Value


true if the element is enabled; otherwise, false. The default value is true.



Note that this property is influenced by class-specific implementations of on particular elements, often at runtime. Therefore, the default value listed here is sometimes not effective. For instance, a ScrollBar will be  false whenever it is determined that there is no need to support a scrollbar. Attempting to set this value will also potentially be overridden by the value returned by .

Elements that are not enabled do not participate in hit testing or focus and therefore will not be sources of input events.

Dependency Property Information

Identifier field


Metadata properties set to true



The following example shows a handler on one button that when executed will set  false on another named button b1.

public partial class RoutedEventAddRemoveHandler {
    void MakeButton(object sender, RoutedEventArgs e)
        Button b2 = new Button();
        b2.Content = "New Button";
        // Associate event handler to the button. You can remove the event 
        // handler using "-=" syntax rather than "+=".
        b2.Click  += new RoutedEventHandler(Onb2Click);
        root.Children.Insert(root.Children.Count, b2);
        DockPanel.SetDock(b2, Dock.Top);
        text1.Text = "Now click the second button...";
        b1.IsEnabled = false;
    void Onb2Click(object sender, RoutedEventArgs e)
        text1.Text = "New Button (b2) Was Clicked!!";
Public Partial Class RoutedEventAddRemoveHandler
    Private Sub MakeButton(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Dim b2 As Button = New Button()
        b2.Content = "New Button"
        AddHandler b2.Click, AddressOf Onb2Click
        root.Children.Insert(root.Children.Count, b2)
        DockPanel.SetDock(b2, Dock.Top)
        text1.Text = "Now click the second button..."
        b1.IsEnabled = False
    End Sub
    Private Sub Onb2Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
        text1.Text = "New Button (b2) Was Clicked!!"
    End Sub
Version Information
.NET Framework
Available since 3.0
Return to top