UIElement.Focusable UIElement.Focusable UIElement.Focusable UIElement.Focusable Property

정의

요소가 포커스를 받을 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the element can receive focus. 이 속성은 종속성 속성입니다.This is a dependency property.

public:
 property bool Focusable { bool get(); void set(bool value); };
public bool Focusable { get; set; }
member this.Focusable : bool with get, set
Public Property Focusable As Boolean

속성 값

요소가 포커스를 받을 수 있으면 true이고, 포커스를 받을 수 없으면 false입니다.true if the element is focusable; otherwise false. 기본값은 false입니다.The default is false.

구현

예제

다음 예제 코드에서는 설정 하는 특정 사용자 지정 컨트롤, 컨트롤 템플릿 Focusable false 템플릿 내에서 요소 중 하나입니다.The following example code illustrates a control template for a particular custom control, which sets Focusable false on one of the elements within the template.

<Window.Resources>
  <Style x:Key="TextBoxNoScrollViewer" TargetType="{x:Type TextBoxBase}">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type TextBoxBase}">
          <Border 
            CornerRadius="2" 
            Background="{TemplateBinding Background}" 
            BorderThickness="{TemplateBinding BorderThickness}" 
            BorderBrush="{TemplateBinding BorderBrush}"  
          >
            <!-- 
            The control template for a TextBox or RichTextBox must
            include an element tagged as the content host.  An element is 
            tagged as the content host element when it has the special name
            PART_ContentHost.  The content host element must be a ScrollViewer,
            or an element that derives from Decorator.  
            -->
            <AdornerDecorator 
              x:Name="PART_ContentHost"
              Focusable="False" 
            />
          </Border>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>
</Window.Resources>

설명

포커스가 있는 요소는 키보드 입력을 받습니다.Only the focused element receives keyboard input.

FocusableMicrosoft .NETMicrosoft .NET 란 실제로 종속성 속성에 대 한 속성 접근자입니다.Focusable is the Microsoft .NETMicrosoft .NET property accessor for what is in reality a dependency property. 이 특정 종속성 속성에는 상당히 자주 해당 "기본값"이 특히 컨트롤에서에서 파생 된 요소 클래스에서 서로 다르게 설정에 있습니다.This particular dependency property quite frequently has its apparent "default" value set differently in derived element classes, particularly in controls. 이 두 가지 방법 중 하나에서 일반적으로 발생합니다.This commonly occurs in one of two ways:

  • 종속성 속성에 특정 파생된 클래스에서 상속 되지만 해당 파생 클래스 재정의 종속성 속성의 메타 데이터 속성 기본값을 변경 합니다.The dependency property is inherited by a particular derived class, but that derived class overrides the metadata of the dependency property and changes the property default value.

  • 해당 종속성 속성 값을 다르게 설정 하는 요소에 스타일이 나 템플릿을 적용 됩니다.A style or template is applied to an element, which sets that dependency property value differently.

예를 들어, 명백한 "기본"의 Focusable 에 대 한는 Button 컨트롤이 true경우에 Button 상속 Focusable 으로 CLR(공용 언어 런타임)common language runtime (CLR) 속성에서 직접 UIElement합니다.For example, the apparent "default" of Focusable for a Button control will be true, even though Button inherits Focusable as a CLR(공용 언어 런타임)common language runtime (CLR) property directly from UIElement. 적용 된 메타 데이터 값 때문에 이것이 합니다 Focusable 종속성 속성의 정적 생성자 내에서 재정의 Control 기본 클래스는 사이는 ButtonUIElement 클래스 계층 구조에서입니다.This is because the applied metadata value for the Focusable dependency property was overridden within the static constructor of the Control base class, which is situated between Button and UIElement in the class hierarchy.

상속 되는 경우 Control 또는 해당 파생된 클래스인 Control 되도록이 속성의 기본값을 재정의 true합니다.When inherited by Control or its derived classes, Control redefines the default value of this property to be true.

상속 되는 경우 Label (되는 Control 파생 클래스), 기본값은로 다시 정의 됩니다. false합니다.When inherited by Label (which is a Control derived class), the default value is again redefined to be false.

종속성 속성 정보Dependency Property Information

식별자 필드Identifier field FocusableProperty
메타 데이터 속성 설정 trueMetadata properties set to true 없음None

상속자 참고

파생 하는 경우 UIElement 직접 (에서 반대로 Control), 하려는 프로그램 요소를 기본적으로 요소 수 없으므로 포커스를 받을 수 있는지 여부를 고려 합니다.When deriving from UIElement directly (as opposed to from Control), consider whether you wish your element to be focusable, because by default the element will not be focusable. 포커스 가능 요소를 하려는 경우 다음과 같은 형식의 정적 생성자 내에서이 속성에 대 한 메타 데이터를 재정의 합니다.If you wish your element to be focusable, override the metadata for this property within your type's static constructor as follows: [! 코드 csharpCorePseudocode #UIElementShortOverride] [! 코드 vbCorePseudocode #UIElementShortOverride][!code-csharpCorePseudocode#UIElementShortOverride] [!code-vbCorePseudocode#UIElementShortOverride] 여기서 myElement 에서 메타 데이터 값을 재정의 하는 형식의 클래스 이름 이어야 합니다.where myElement should be the class name of the type that you are overriding the metadata value on.

적용 대상

추가 정보