ItemsPanelTemplate 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ItemsPresenter가 ItemsControl의 항목 레이아웃에 대해 만드는 패널을 지정합니다.
public ref class ItemsPanelTemplate : System::Windows::FrameworkTemplate
public class ItemsPanelTemplate : System.Windows.FrameworkTemplate
type ItemsPanelTemplate = class
inherit FrameworkTemplate
Public Class ItemsPanelTemplate
Inherits FrameworkTemplate
- 상속
예제
가로 만들려는 ListBox, 가로 지정 하는 템플릿을 만들 수 있습니다 StackPanel 으로 설정 하는 ItemsPanel 속성입니다. 다음 예제에서는 가로ListBox를 ListBox Style 만드는 방법을 보여줍니다.
<Style TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
다음 예제에서는 ControlTemplate 가로 만들려면 ListBox 모서리가 둥근입니다. 설정 하는 대신이 예제는 ItemsPanel 이전 예제와 같이, 가로 StackPanel 내에 지정 된 ControlTemplate. IsItemsHost 속성이로 설정 되어 true
에 StackPanel를 나타내는 생성된 된 항목 패널에서 이동 해야 하는 합니다. 이러한 방식으로 지정 하는 경우는 ItemsPanel 를 사용 하지 않고 컨트롤의 사용자가 바꿀 수 없습니다는 ControlTemplate합니다. 따라서만 이렇게 패널을 템플릿으로 사용 하지 않고 바꿀 필요가 없는 경우.
<Style TargetType="ListBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"
IsItemsHost="True"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
또는 동일한 결과 얻으려면 다음을 수행할 수 있습니다. 이 경우에 ItemsPresenter 된 내용에 따라 항목의 레이아웃에 대 한 패널을 만드는 ItemsPanelTemplate합니다.
<Style TargetType="{x:Type ListBox}">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border CornerRadius="5"
Background="{TemplateBinding ListBox.Background}">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
다양 한 스타일 지정 및 템플릿 속성을 사용 하는 방법의 예는 ItemsControl를 참조 하세요 데이터 템플릿 개요합니다.
설명
ItemsPanelTemplate 항목의 레이아웃에 사용 되는 패널을 지정 합니다. GroupStyle 에 Panel 형식의 속성 ItemsPanelTemplate합니다. ItemsControl 형식에는 ItemsPanel 형식의 속성 ItemsPanelTemplate합니다.
각 ItemsControl 형식에는 기본 ItemsPanelTemplate입니다. 에 대 한 합니다 ItemsControl 클래스의 경우 기본 ItemsPanel 값이를 ItemsPanelTemplate 지정 하는 StackPanel합니다. 에 대 한 합니다 ListBox를 사용 하 여 기본은 VirtualizingStackPanel합니다. 에 대 한 MenuItem를 사용 하 여 기본 WrapPanel입니다. 에 대 한 StatusBar를 사용 하 여 기본 DockPanel입니다.
생성자
ItemsPanelTemplate() |
ItemsPanelTemplate 클래스의 인스턴스를 초기화합니다. |
ItemsPanelTemplate(FrameworkElementFactory) |
지정된 템플릿을 사용하여 ItemsPanelTemplate 클래스의 인스턴스를 초기화합니다. |
속성
Dispatcher |
이 Dispatcher와 연결된 DispatcherObject를 가져옵니다. (다음에서 상속됨 DispatcherObject) |
HasContent |
이 템플릿의 콘텐츠가 최적화되어 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 FrameworkTemplate) |
IsSealed |
이 개체가 변경할 수 없는 변경 불가능 상태인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 FrameworkTemplate) |
Resources |
이 템플릿의 범위 내에서 사용할 수 있는 리소스의 컬렉션을 가져오거나 설정합니다. (다음에서 상속됨 FrameworkTemplate) |
Template |
작성자가 템플릿을 정의하거나 적용할 때 해당 템플릿의 XAML 노드를 기록/재생하는 개체에 대한 참조를 가져오거나 설정합니다. (다음에서 상속됨 FrameworkTemplate) |
VisualTree |
템플릿의 루트 노드를 가져오거나 설정합니다. (다음에서 상속됨 FrameworkTemplate) |
메서드
CheckAccess() |
호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다. (다음에서 상속됨 DispatcherObject) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
FindName(String, FrameworkElement) |
이 템플릿 내에 정의된 지정한 이름과 연결된 요소를 찾습니다. (다음에서 상속됨 FrameworkTemplate) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
LoadContent() |
템플릿의 콘텐츠를 개체의 인스턴스로 로드하고 콘텐츠의 루트 요소를 반환합니다. (다음에서 상속됨 FrameworkTemplate) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
RegisterName(String, Object) |
현재 이름 범위에 새 이름/개체 쌍을 등록합니다. (다음에서 상속됨 FrameworkTemplate) |
Seal() |
템플릿을 변경할 수 없도록 잠급니다. (다음에서 상속됨 FrameworkTemplate) |
ShouldSerializeResources(XamlDesignerSerializationManager) |
이 클래스의 인스턴스에서 serialization 프로세스를 통해 Resources 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 FrameworkTemplate) |
ShouldSerializeVisualTree() |
이 클래스의 인스턴스에서 serialization 프로세스를 통해 VisualTree 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 FrameworkTemplate) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
UnregisterName(String) |
XAML 이름 범위에서 이름/개체 매핑을 제거합니다. (다음에서 상속됨 FrameworkTemplate) |
ValidateTemplatedParent(FrameworkElement) |
템플릿 기반 부모가 null이 아닌 ItemsPresenter 개체인지 확인합니다. |
VerifyAccess() |
호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다. (다음에서 상속됨 DispatcherObject) |
명시적 인터페이스 구현
INameScope.FindName(String) |
지정된 식별 이름이 있는 개체를 반환합니다. (다음에서 상속됨 FrameworkTemplate) |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
지정된 앰비언트 속성을 현재 범위에서 사용할 수 있는지 여부를 쿼리합니다. (다음에서 상속됨 FrameworkTemplate) |