UIElement.IsEnabled Property

Definition

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

C#
public bool IsEnabled { get; set; }

Property Value

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

Examples

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

C#
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!!";
    }

Remarks

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.

Dependency Property Information

Item Value
Identifier field IsEnabledProperty
Metadata properties set to true None

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also