다음을 통해 공유


Control.IsEnabled 속성

정의

사용자가 컨트롤과 상호 작용할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

public:
 property bool IsEnabled { bool get(); void set(bool value); };
bool IsEnabled();

void IsEnabled(bool value);
public bool IsEnabled { get; set; }
var boolean = control.isEnabled;
control.isEnabled = boolean;
Public Property IsEnabled As Boolean
<control IsEnabled="bool"/>

속성 값

Boolean

bool

사용자가 컨트롤과 상호 작용할 수 있으면 true입니다. 그렇지 않으면 false입니다.

설명

많은 컨트롤에는 레이블의 텍스트 "회색"과 같이 IsEnabled =false에 대해 호출되는 미리 정의된 시각적 상태가 있습니다.

IsEnabled가 변경되면 IsEnabledChanged 이벤트가 발생합니다. 컨트롤은 시각적 상태를 변경하기 위해 이 이벤트를 처리할 수 있습니다. 이벤트에는 DependencyPropertyChangedEventArgs 데이터가 있으므로 고유한 플래그를 사용하지 않고도 이전 값과 새 값을 확인할 수 있습니다.

컨트롤은 부모 컨트롤에서 IsEnabled 속성을 상속합니다. 예를 들어 단추가 포함된 컨트롤에 IsEnabled가 false로 설정된 경우 단추의 IsEnabled 속성도 false입니다. 부모의 속성이 변경되면 값 상속으로 인해 값이 변경되는 각 컨트롤에 대해 IsEnabledChanged 가 발생합니다.

사용하지 않도록 설정할 때 컨트롤 논리가 작동하는 방식은 각 컨트롤에 대해 잠재적으로 다릅니다. 그러나 이러한 동작은 IsEnabled =false인 경우 모든 컨트롤을 생성합니다.

  • 컨트롤은 키보드 포커스를 받거나 프로그래밍 방식으로 집중할 수 없습니다.
  • 컨트롤이 탭 시퀀스에 표시되지 않습니다( UIElement.TabIndex 에 대한 모든 값은 무시됨).
  • 비활성화된 컨트롤은 테스트에 적중할 수 있습니다. 자체에서 입력 이벤트를 처리할 수 없습니다. 그러나 비활성화된 컨트롤은 여전히 입력 이벤트를 소스로 만들 수 있으며, 입력 라우트된 이벤트는 처리할 수 있는 부모에 버블링될 수 있습니다.

적용 대상

추가 정보