wpf expander 예제

축소된 상태에서 확장기는 헤더에 필요한 공간만 차지합니다. 확장 된 상태에서 는 헤더와 콘텐츠의 크기를 함께 합니다. 다음은 여러 패널, 텍스트 및 이미지, 심지어 TextBox 컨트롤을 사용하는 고급 콘텐츠의 예입니다. 첫 번째 확장기를 확장하면 StackPanel이 자식 컨트롤을 다시 배치하여 두 번째 익스팬더가 첫 번째 컨트롤 아래로 이동합니다. 확장자가 확장 또는 축소된 상태에 있는 경우 Get and set할 IsExpanded 속성이 있습니다. C#의 익스팬더 클래스는 WPF 익스팬더 컨트롤을 나타냅니다. 디자인 타임에 XAML의 요소는 익스팬더 컨트롤을 만드는 데 사용됩니다. 이 자습서의 코드 예제에서는 WPF 앱에서 확장기 컨트롤을 사용하는 방법을 보여 줍니다. 익스팬더 컨트롤은 콘텐츠의 일부를 숨기기/표시할 수 있는 기능을 제공합니다. 이것은 일반적으로 텍스트의 조각, 하지만 WPF의 유연성 덕분에, 그것은 텍스트, 이미지, 심지어 다른 WPF 컨트롤 같은 혼합 된 콘텐츠의 모든 유형에 사용할 수 있습니다.

내가 말하는 것을 보려면, 여기에 예입니다 : 우리가이 예제를 실행할 때, 표시되는 날짜 / 시간은 확장기를 확장하는 날짜 / 시간입니다. 지금까지의 모든 예제에서 확장기 컨트롤은 콘텐츠를 표시/숨기는 데 사용되는 단추를 제외하고는 거의 보이지 않습니다. 하지만 헤더 속성을 사용 하 여 컨트롤의 헤더 영역을 쉽게 사용자 지정할 수 있습니다. 다음은 이 속성을 사용하여 단추 옆에 설명 텍스트를 추가하는 예제입니다. 보다 복잡한 헤더의 경우 XAML의 Header 특성을 해당 속성 요소 구문으로 바꿀 수 있습니다. 여기에는 속성에 대한 추가 XML 요소를 추가하고 헤더에 단일 컨트롤을 통합할 수 있습니다. 복잡한 배열의 경우 자체 자식과 함께 레이아웃 컨트롤이 될 수 있습니다. WPF 익스팬더는 확장된 영역의 내용을 확장하거나 축소할 수 있는 확장된 뷰가 있는 컨트롤을 나타냅니다. WPF 앱에서 확장기 컨트롤을 만드는 방법에는 두 가지가 있습니다. XAML의 요소를 사용하여 디자인 타임에 익스팬더 컨트롤을 만들 수 있습니다. 또한 C#의 Expander 클래스를 사용하여 런타임에 익스팬더를 만들 수도 있습니다.

아래 예제에서 Expander에는 확장 이벤트에 대한 처리기에서만 로드하는 TextBlock이 포함되어 있습니다. 첫 번째 예제에서는 Expander 요소에 두 가지 주요 측면이 있습니다. 먼저 Header 속성을 사용합니다. 속성의 텍스트는 확장 및 축소 된 상태 모두에서 확장에 표시 됩니다.