Windows Dev Center

The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UIElement.IsEnabled Property

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; }
<object IsEnabled="bool" .../>

Property Value

Type: System.Boolean
true if the element is enabled; otherwise, false. The default value is true.



Identifier field


Metadata properties set to true


Note that this property is influenced by class-specific implementations of IsEnabledCore on particular elements, often at runtime. Therefore, the default value listed here is sometimes not effective. For instance, a ScrollBar will be IsEnabled 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 IsEnabledCore.

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

The following example shows a handler on one button that when executed will set IsEnabled 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!!";

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0

Community Additions

© 2015 Microsoft