다음을 통해 공유


WindowChrome 클래스

창의 비클라이언트 영역에 대한 사용자 지정을 설명하는 개체를 나타냅니다.

상속 계층 구조

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Freezable
        Microsoft.Windows.Shell.WindowChrome

네임스페이스:  Microsoft.Windows.Shell
어셈블리:  Microsoft.Windows.Shell(Microsoft.Windows.Shell.dll)

구문

‘선언
Public Class WindowChrome _
    Inherits Freezable
public class WindowChrome : Freezable
public ref class WindowChrome : public Freezable
type WindowChrome =  
    class
        inherit Freezable
    end
public class WindowChrome extends Freezable

WindowChrome 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Public 메서드 WindowChrome WindowChrome 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 CanFreeze 개체를 수정할 수 없게 만들 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성 CaptionHeight 창 맨 위의 캡션 영역 높이를 가져오거나 설정합니다.
Public 속성 CornerRadius 창의 모퉁이가 둥근 정도를 표시하는 값을 가져오거나 설정합니다.
Public 속성 DependencyObjectType 이 인스턴스의 CLR 형식을 래핑하는 DependencyObjectType을 가져옵니다.  (DependencyObject에서 상속됨)
Public 속성 Dispatcher DispatcherObject와 연결된 Dispatcher를 가져옵니다. (DispatcherObject에서 상속됨)
Public 속성정적 멤버 GlassFrameCompleteThickness -1의 균일 한 두께를 가져옵니다.
Public 속성 GlassFrameThickness 세로 창 테두리의 너비를 픽셀 단위로 나타내는 값을 가져옵니다.
Public 속성 IsFrozen 개체를 현재 수정할 수 있는지 여부를 나타내는 값을 가져옵니다. (Freezable에서 상속됨)
Public 속성 IsSealed 이 인스턴스가 현재 봉인되어 있는지(읽기 전용인지) 여부를 나타내는 값을 가져옵니다. (DependencyObject에서 상속됨)
Public 속성 NonClientFrameEdges 클라이언트가 소유하고 있지 않은 창 프레임의 가장자리를 나타내는 값을 가져오거나 설정합니다.
Public 속성 ResizeBorderThickness 창의 크기를 조정하는 데 사용되는 테두리의 너비를 픽셀 단위로 나타내는 값을 가져오거나 설정합니다.
Public 속성 UseAeroCaptionButtons Windows Aero 캡션 단추에 대해 적중 테스트를 활성화하는지 여부를 나타내는 값을 가져오거나 설정합니다.

위쪽

연결된 속성

  이름 설명
연결된 Public 속성 IsHitTestVisibleInChrome 창의 비클라이언트 영역에 있는 요소에서 WPF 적중 테스트를 사용할지 여부를 나타내는 값을 가져오거나 설정합니다.
연결된 Public 속성 ResizeGripDirection 입력 요소에 크기 조정 그립 동작의 방향을 나타내는 값을 가져오거나 설정합니다.
연결된 Public 속성 WindowChrome 창에 연결된 WindowChrome 인스턴스를 가져오거나 설정합니다.

위쪽

메서드

  이름 설명
Public 메서드 CheckAccess 호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다. (DispatcherObject에서 상속됨)
Public 메서드 ClearValue(DependencyProperty) 속성의 로컬 값을 지웁니다.지울 속성은 DependencyProperty 식별자로 지정됩니다. (DependencyObject에서 상속됨)
Public 메서드 ClearValue(DependencyPropertyKey) 읽기 전용 속성의 로컬 값을 지웁니다.지울 속성은 DependencyPropertyKey에서 지정됩니다. (DependencyObject에서 상속됨)
Public 메서드 Clone 개체 값의 전체 복사본을 만들어 Freezable의 수정 가능한 복제본을 만듭니다.개체의 종속성 속성을 복사할 때 이 메서드는 식을 복사하지만 애니메이션 또는 현재 값은 복사하지 않습니다. 이러한 식이 더 이상 확인되지 않을 수도 있습니다. (Freezable에서 상속됨)
Protected 메서드 CloneCore 애니메이션이 적용되지 않은 기준 속성 값을 사용하여 인스턴스를 지정된 Freezable의 복제본(전체 복사본)으로 만듭니다. (Freezable에서 상속됨)
Public 메서드 CloneCurrentValue 현재 값을 사용하여 Freezable의 수정 가능한 복제본(전체 복사본)을 만듭니다. (Freezable에서 상속됨)
Protected 메서드 CloneCurrentValueCore 현재 속성 값을 사용하여 인스턴스를 지정된 Freezable의 수정 가능한 복제본(전체 복사본)으로 만듭니다. (Freezable에서 상속됨)
Public 메서드 CoerceValue 지정된 종속성 속성 값을 강제 변환합니다.이 작업은 호출하는 DependencyObject에 있는 종속성 속성의 속성 메타데이터에 지정되어 있는 CoerceValueCallback 함수를 호출하여 수행합니다. (DependencyObject에서 상속됨)
Protected 메서드 CreateInstance Freezable 클래스의 새 인스턴스를 초기화합니다. (Freezable에서 상속됨)
Protected 메서드 CreateInstanceCore WindowChrome 클래스의 새 인스턴스를 만듭니다. (Freezable.CreateInstanceCore()을(를) 재정의함)
Public 메서드 Equals 제공된 DependencyObject가 현재 DependencyObject에 해당하는지 여부를 확인합니다. (DependencyObject에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드 Freeze 현재 개체를 수정할 수 없게 만들고 IsFrozen 속성을 true로 설정합니다. (Freezable에서 상속됨)
Protected 메서드 FreezeCore Freezable 을 수정할 수 없게 만들거나, 수정할 수 없게 만들 수 있는지 테스트합니다. (Freezable에서 상속됨)
Public 메서드 GetAsFrozen 애니메이션이 적용되지 않은 기준 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다.복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다. (Freezable에서 상속됨)
Protected 메서드 GetAsFrozenCore 애니메이션이 적용되지 않은 기준 속성 값을 사용하여 인스턴스를 지정된 Freezable의 고정된 복제본으로 만듭니다. (Freezable에서 상속됨)
Public 메서드 GetCurrentValueAsFrozen 현재 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다.복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다. (Freezable에서 상속됨)
Protected 메서드 GetCurrentValueAsFrozenCore 현재 인스턴스를 지정된 Freezable의 고정된 복제본으로 만듭니다.개체에 애니메이션이 적용된 종속성 속성이 있으면 애니메이션이 적용된 현재 값이 복사됩니다. (Freezable에서 상속됨)
Public 메서드 GetHashCode DependencyObject의 해시 코드를 가져옵니다. (DependencyObject에서 상속됨)
Public 메서드정적 멤버 GetIsHitTestVisibleInChrome 지정된 입력 요소의 IsHitTestVisibleInChrome 연결된 속성 값을 가져옵니다.
Public 메서드 GetLocalValueEnumerator DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다. (DependencyObject에서 상속됨)
Public 메서드정적 멤버 GetResizeGripDirection 지정된 입력 요소의 ResizeGripDirection 연결된 속성 값을 가져옵니다.
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 GetValue DependencyObject 인스턴스에서 종속성 속성의 현재 유효 값을 반환합니다. (DependencyObject에서 상속됨)
Public 메서드정적 멤버 GetWindowChrome 지정된 Window에서 WindowChrome 연결된 속성 값을 가져옵니다.
Public 메서드 InvalidateProperty 지정된 종속성 속성의 유효 값을 다시 계산합니다. (DependencyObject에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 OnChanged 현재 Freezable 개체가 수정될 때 호출됩니다. (Freezable에서 상속됨)
Protected 메서드 OnFreezablePropertyChanged(DependencyObject, DependencyObject) 방금 설정된 DependencyObjectType 데이터 멤버에 대한 적절한 컨텍스트 포인터를 설정합니다. (Freezable에서 상속됨)
Protected 메서드 OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) 이 멤버는 Windows Presentation Foundation (WPF) 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다. (Freezable에서 상속됨)
Protected 메서드 OnPropertyChanged OnPropertyChangedDependencyObject 구현을 재정의하면 Freezable 형식의 종속성 속성이 변경될 때 Changed 처리기를 함께 호출할 수 있습니다. (Freezable에서 상속됨)
Public 메서드 ReadLocalValue 종속성 속성의 로컬 값(있는 경우)을 반환합니다. (DependencyObject에서 상속됨)
Protected 메서드 ReadPreamble 유효한 스레드에서 Freezable에 액세스하고 있는지 확인합니다.Freezable 상속자는 종속성 속성이 아닌 데이터 멤버를 읽는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (Freezable에서 상속됨)
Public 메서드정적 멤버 SetIsHitTestVisibleInChrome 지정된 입력 요소에 IsHitTestVisibleInChrome 연결된 속성 값을 설정합니다.
Public 메서드정적 멤버 SetResizeGripDirection 지정된 입력 요소에 ResizeGripDirection 연결된 속성 값을 설정합니다.
Public 메서드 SetValue(DependencyProperty, Object) 해당 종속성 속성 식별자로 지정되는 종속성 속성의 로컬 값을 설정합니다. (DependencyObject에서 상속됨)
Public 메서드 SetValue(DependencyPropertyKey, Object) 종속성 속성의 DependencyPropertyKey 식별자로 지정되는 읽기 전용 종속성 속성의 로컬 값을 설정합니다. (DependencyObject에서 상속됨)
Public 메서드정적 멤버 SetWindowChrome 지정된 WindowWindowChrome 연결 속성 값을 설정합니다.
Protected 메서드 ShouldSerializeProperty serialization 프로세스를 통해 제공된 종속성 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. (DependencyObject에서 상속됨)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드 VerifyAccess 호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다. (DispatcherObject에서 상속됨)
Protected 메서드 WritePostscript Freezable 에 대한 Changed 이벤트를 발생시키고 OnChanged 메서드를 호출합니다.Freezable에서 파생되는 클래스는 종속성 속성으로 저장되지 않는 클래스 멤버를 수정하는 모든 API의 끝 부분에서 이 메서드를 호출해야 합니다. (Freezable에서 상속됨)
Protected 메서드 WritePreamble Freezable 이 고정되어 있지 않고 유효한 스레드 컨텍스트에서 액세스되고 있는지 확인합니다.Freezable 상속자는 종속성 속성이 아닌 데이터 멤버에 쓰는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (Freezable에서 상속됨)

위쪽

이벤트

  이름 설명
Public 이벤트 Changed Freezable 또는 여기에 들어 있는 개체가 수정될 때 발생합니다. (Freezable에서 상속됨)

위쪽

필드

  이름 설명
Public 필드정적 멤버 CaptionHeightProperty CaptionHeight 종속성 속성을 식별합니다.
Public 필드정적 멤버 CornerRadiusProperty CornerRadius 종속성 속성을 식별합니다.
Public 필드정적 멤버 GlassFrameThicknessProperty GlassFrameThickness 종속성 속성을 식별합니다.
Public 필드정적 멤버 IsHitTestVisibleInChromeProperty IsHitTestVisibleInChrome 종속성 속성을 식별합니다.
Public 필드정적 멤버 NonClientFrameEdgesProperty NonClientFrameEdges 종속성 속성을 식별합니다.
Public 필드정적 멤버 ResizeBorderThicknessProperty ResizeBorderThickness 종속성 속성을 식별합니다.
Public 필드정적 멤버 ResizeGripDirectionProperty ResizeGripDirection 종속성 속성을 식별합니다.
Public 필드정적 멤버 UseAeroCaptionButtonsProperty UseAeroCaptionButtons 종속성 속성을 식별합니다.
Public 필드정적 멤버 WindowChromeProperty WindowChrome 종속성 속성을 식별합니다.

위쪽

설명

WindowChrome 클래스를 사용하면 WPF(Windows Presentation Foundation) 콘텐츠를 일반적으로 운영 체제의 창 관리자에 대해 예약되어 있는 비클라이언트 창 영역으로 확장할 수 있습니다.

표준 창

표준 창은 두 개의 겹치는 사각형으로 구성됩니다. 외부 사각형은 비클라이언트 영역이며, 종종 크롬으로 부릅니다. 운영 체제의 창 관리자에 의해 그려지고 관리됩니다. 치수는 표준 운영 체제 설정으로 결정됩니다. 비-클라이언트 프레임은 표준 창 기능 및 동작을 제공합니다. 여기에는 포함 캡션 단추(최소화, 최대화 및 닫기), 창의 테두리, 크기 조정 및 이동 동작, 응용 프로그램 아이콘 및 제목, 시스템 메뉴가 포함되어 있습니다. 내부 사각형은 클라이언트 영역입니다. 응용 프로그램의 내용을 포함하며 응용 프로그램에 의해 그려지고 관리됩니다. WPF 응용 프로그램의 창에 대한 자세한 내용은 WPF 창 개요를 참조하십시오.

다음 그림은 표준 창의 부분을 보여 줍니다.

창 요소

사용자 지정 Windows

Window.WindowStyle 속성을 None으로 설정하거나 WindowChrome 클래스를 사용하여 창 테두리를 사용자 지정할 수 있습니다.

WindowStyle.None

WPF 응용 프로그램 창의 모양을 사용자 지정하는 방법 중 하나는 Window.WindowStyle 속성을 None으로 설정하는 것입니다. 이렇게 하면 창에서 비클라이언트 프레임이 제거되고 사용자 지정 스타일을 적용할 수 있도록 클라이언트 영역만 남겨집니다. 그러나 비클라이언트 프레임을 제거하면 캡션 단추 및 창 크기 조정과 같이 제공되는 시스템 기능 및 동작이 손실될 수도 있습니다. 또 다른 부작용은 최대화 된 창이 Windows 작업 표시줄을 다루게 되는 것입니다. WindowStyle.None을 설정하면 완전한 사용자 지정 응용 프로그램을 만들 수 있습니다. 단, 응용 프로그램에서 사용자 지정 로직을 구현하여 표준 창 동작을 열거해야 할 수도 있습니다.

WindowChrome

창의 표준 기능을 유지하면서 사용자 지정 하려면 WindowChrome 클래스를 사용합니다. WindowChrome 클래스는 창 프레임의 기능을 비주얼과 분리하고 응용 프로그램 창의 클라이언트와 비클라이언트 영역 간의 경계를 제어할 수 있습니다. WindowChrome 클래스를 사용하면 클라이언트 영역이 비클라이언트 영역을 포함하도록 확장되어 창 프레임에 WPF 콘텐츠를 삽입할 수 있습니다. 동시에 크기 조정 테두리 및 캡션 영역 등 두 가지 볼 수 있는 영역을 통해 시스템 동작을 유지합니다.

WindowChrome 클래스를 사용하여 사용자 정의 창을 만드는 데에는 두 가지 주요 부분이 있습니다. 먼저, WindowChrome 개체에 노출된 속성을 설정하여 창의 비클라이언트 부분을 사용자 지정합니다. 그런 다음 비클라이언트 영역으로 확장하는 응용 프로그램의 부분을 정의하는 창에 대한 템플릿을 제공합니다. WindowChrome 개체에 노출되는 속성은 ResizeBorderThickness, CaptionHeight, CornerRadiusGlassFrameThickness입니다.

ResizeBorderThickness 속성에서는 응용 프로그램 창 바깥쪽에 비표시 테두리를 지정하여 사용자가 클릭하여 끌기 기능을 사용하여 창의 크기를 조정할 수 있습니다.

CaptionHeight 속성은 창 상단에 비표시 영역을 지정하여 이 영역에서 일반적으로 시스템 동작을 제목 표시줄과 연결할 수 있습니다. 여기에는 클릭하여 끌기 기능으로 창을 이동하고 두 번 클릭으로 창을 최대화하고 마우스 오른쪽 단추로 클릭하여 시스템 메뉴를 표시하는 동작이 있습니다.

크기 조정 테두리 및 캡션 영역에 모든 시각적 요소가 없습니다. 이들은 입력에 응답하는 영역만 정의하며 표준 시스템 제공 창 동작을 활성화합니다.

CornerRadius 속성은 창의 모퉁이가 둥근 정도를 지정합니다. 창에 투명 효과 프레임이 활성화된 경우 이 속성은 아무 효과가 없습니다.

GlassFrameThickness 속성은 창 주위의 투명 효과 프레임의 너비를 지정합니다. 기본적으로 WindowNonClientFrameThickness 속성에 지정된 시스템 값을 사용하여 표준 창의 모양을 에뮬레이션합니다. 투명 효과 프레임을 사용하면 최소화, 최대화 및 닫기에 대한 캡션 단추가 표시되고 대화형으로 됩니다. 응용 프로그램은 응용 프로그램 아이콘 및 캡션 텍스트를 표시하는 작업을 담당합니다. GlassFrameThickness 속성을 설정하여 투명 효과 프레임을 기본값보다 넓거나 좁게 만들 수 있습니다.

주의 정보주의

GlassFrameThickness 속성이 변경될 때 캡션 단추의 크기가 변경되지 않습니다.투명 효과 프레임 상단의 높이가 캡션 단추의 높이보다 작으면 캡션 단추는 완전히 표시되지 않습니다.

투명 효과 프레임이 없는 사용자 지정 창을 만들려면 GlassFrameThickness 속성을 동일한 0 값으로 설정합니다. 이것은 표준 캡션 단추를 비활성화하고 숨깁니다.

전체 창을 포괄하도록 투명 효과 프레임을 확대하려면 모든 면에서 GlassFrameThickness 속성을 음수 값으로 설정합니다. GlassFrameThickness 속성이 모든 면에 대해 음수 값으로 설정되면 강제 변환된 값은 GlassFrameCompleteThickness와 같게 됩니다.

참고참고

Aero는 Windows Vista에서 도입된 Windows 바탕 화면의 모양 및 기능에 대한 일련의 시각적 향상입니다.Aero에서 시각적으로 더 명백한 특징 중 하나는 투명한 창 테두리입니다.Windows Aero는 DWM(Desktop Window Manager)의 데스크톱 컴퍼지션 기능에 의해 사용됩니다.

Windows Aero 투명 효과는 모든 운영 체제에서 지원되지는 않으며 지원되는 운영 체제에서 비활성화할 수 있습니다. Windows Aero를 사용할 수 없는 경우 투명 효과 프레임은 GlassFrameThickness 속성 값에 관계 없이 표시되지 않습니다. 이 속성에 의해 지정된 테두리 영역은 대신 검정으로 나타납니다. IsGlassEnabled 속성을 확인하여 Windows Aero 투명 효과를 사용할 수 있는지 확인하십시오. 투명 효과를 사용할 수 없는 경우 투명 효과 프레임을 사용하지 않거나 창에 Null을 설정하여 표준 창을 사용하는 대체 창 스타일을 제공해야 합니다.

프레임 콘텐츠의 모양 및 동작을 정의하는 ControlTemplate을 지정하여 WPF 콘텐츠를 창 프레임으로 확장합니다. ControlTemplate의 TargetType을 사용자 지정하는 창의 형식으로 설정합니다.

<ControlTemplate TargetType="{x:Type local:MainWindow}">

기본적으로 창의 비클라이언트 영역 내에 있는 시각적 요소 부분은 대화형이 아닙니다. 비클라이언트 영역에서 대화형 요소를 사용하도록 설정하려면 WindowsChrome.IsHitTestVisibleInChrome 연결 속성을 요소에 연결하고 이 속성을 true로 설정합니다.

다음 XAML 태그는 WindowChrome 클래스를 사용하여 창을 사용자 지정하는 데 필요한 주요 요소를 보여 줍니다.

<Style x:Key="StandardStyle" TargetType="{x:Type local:MainWindow}">
    <Setter Property="shell:WindowChrome.WindowChrome">
        <Setter.Value>
            <shell:WindowChrome />
        </Setter.Value>
    </Setter>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:MainWindow}">
                <Grid>
                    <Border Background="White"
                            Margin="{Binding Source={x:Static shell:SystemParameters2.Current}, Path=WindowNonClientFrameThickness}">
                        <ContentPresenter Content="{TemplateBinding Content}" />
                    </Border>
                    <TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Title}" 
                               VerticalAlignment="Top" HorizontalAlignment="Left" 
                               Margin="36,8,0,0"/>
                    <Image Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Icon}"
                           VerticalAlignment="Top" HorizontalAlignment="Left"
                           Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(shell:WindowChrome.WindowChrome).ResizeBorderThickness}" 
                           Width="{Binding Source={x:Static shell:SystemParameters2.Current}, Path=SmallIconSize.Width}"
                           shell:WindowChrome.IsHitTestVisibleInChrome="True"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

첫 번째 setter는 WindowChrome을 창에 연결합니다. 창을 표준 창처럼 보이게 하는 WindowChrome 속성에 대해 모든 기본 값을 사용합니다.

<Setter Property="shell:WindowChrome.WindowChrome">
    <Setter.Value>
        <shell:WindowChrome />
    </Setter.Value>
</Setter>

창 템플릿에서는 응용 프로그램에서 지정한 창의 내용을 표시하도록 content presenter를 지정해야 합니다. 기본적으로 WindowChrome 클래스는 비클라이언트 테두리를 포괄하도록 클라이언트 영역을 확장합니다. 투명 효과 프레임을 열어 보려면 ContentPresenter 주위에 여백을 지정해야 합니다. 이 태그는 표준 창 모양을 에뮬레이트하기 위해 content presenter 주위에 흰색 배경으로 테두리를 지정합니다. 또한 WindowNonClientFrameThickness 속성에 바인딩되는 여백도 지정합니다. 이 속성에서는 프레임의 기본 시스템 너비를 가져옵니다.

<Border Background="White"
    Margin="{Binding Source={x:Static shell:SystemParameters2.Current}, Path=WindowNonClientFrameThickness}">
    <ContentPresenter Content="{TemplateBinding Content}" />
</Border>

응용 프로그램 아이콘 및 제목은 WindowChrome 클래스에 의해 표시되지 않으며 사용자 지정 콘텐츠로 테두리에 추가되어야 합니다. 다음 XAML에서는 이미지와 TextBlock을 추가하여 아이콘과 제목을 표시합니다. 두 요소는 모두 창에서 해당 속성에 바인딩됩니다. 이미지 너비는 SmallIconSize 너비로 바운딩되며 이 너비에서 아이콘에 대한 기본 시스템 크기를 가져옵니다. 이미지가 마우스 이벤트를 수신할 수 있도록 IsHitTestVisibleInChrome에 연결된 속성이 이미지에 설정됩니다.

<Image Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Icon}"
       VerticalAlignment="Top" HorizontalAlignment="Left"
       Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(shell:WindowChrome.WindowChrome).ResizeBorderThickness}" 
       Width="{Binding Source={x:Static shell:SystemParameters2.Current}, Path=SmallIconSize.Width}"
       shell:WindowChrome.IsHitTestVisibleInChrome="True"/>


<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Title}" 
           VerticalAlignment="Top" HorizontalAlignment="Left" 
           Margin="36,8,0,0"/>

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.Windows.Shell 네임스페이스