WPF 구성 요소
WPF의 핵심 DLL들 간의 참조 의존성 관계를 이해하는 것은
WPF 애플리케이션의 구조를 파악하고, 효율적으로 구성하는 데 큰 도움이 된다
클래스의 위치와 필요한 종속성을 알면 개발, 최적화, 문제 해결이 용이해지며
이는 더 견고한 애플리케이션 설계로 이어진다
WPF 핵심 어셈블리 요소들
PresentationFramework.dll
PresentationCore.dll
WindowsBase.dll
System.Xaml.dll

PresentationFramework.dll
- 클래스 : Border, Canvas, CheckBox, ComboBox, DockPanel, Expander, Grid, Image, ListBox, Menu, ProgressBar, RadioButton, ScrollViewer, Slider, StackPanel, TabControl, TextBlock, ToolBar, TreeView, WrapPanel, Style, DataTemplate, ControlTemplate, ResourceDictionary, Button, Label, MediaElement
- 인터페이스 : IComponentConnector, IStyleConnector
- 열거형 :FontStyle, FontWeight, HorizontalAlignment, VerticalAlignment, TextAlignment, Visibility, Stretch
- 구조체 :CornerRadius, GridLength, Thickness
PresentationCore.dll
- 클래스 : BitmapEffect, BlurBitmapEffect, DropShadowBitmapEffect, BitmapImage, DrawingGroup, GeometryDrawing, ImageBrush, LinearGradientBrush, MatrixTransform, PathGeometry, RenderTargetBitmap, ScaleTransform, SkewTransform, SolidColorBrush, TranslateTransform, VisualBrush
- 인터페이스 : IRenderInfo, IResourceDictionary, IVisual
- 열거형 : BrushMappingMode, GeometryCombineMode, GradientSpreadMethod, PenLineCap, PenLineJoin, TileMode, TextHintingMode
- 구조체 : Color, Matrix, Point, Rect, Size, Vector
WindowsBase.dll
- 클래스 : Application, CommandManager, DependencyPropertyRegister, DispatcherOperation, DoubleAnimation, KeyGesture, KeyBinding, PropertyChangedEventHandler, RoutedCommand, RoutedEvent, RoutedEventHandler, RoutedUICommand, Timer
- 인터페이스 : ICommand, INotifyPropertyChanged, INotifyCollectionChanged
- 열거형 : ComponentResourceKey, DispatcherOperationStatus, ModifierKeys, PropertyChangedEventArgs, UpdateSourceTrigger, DispatcherPriority
- 구조체 : Duration, Int32Rect
System.Xaml.dll
- 클래스 : XamlSchemaContext, XamlType, XamlMember, XamlDirective, NamespaceMapEntry, XamlNodeList, XamlXmlReader, XamlXmlWriter, MarkupExtension, StaticResourceExtension, BindingExtension
- 인터페이스 : IXamlLineInfoConsumer, IXamlLineInfoProvider, IXamlSchemaContextProvider, IXamlObjectWriterFactory, IXamlMember
이는 각 컴포넌트의 역할과 위치를 명확히 하며, 어떤 기능이 어느 DLL에 포함되어 있는지 알 수 있게 해주어,
필요한 클래스와 리소스를 적절히 참조할 수 있게 한다
더 나아가, 의존성을 파악함으로써 개발자는 성능을 최적화하고,
발생 가능한 문제를 예측 및 해결하는 데 필요한 깊이 있는 지식을 갖출 수 있다
이러한 이해는 안정적이고 확장 가능하며 유지보수가 쉬운 WPF 애플리케이션을 설계하는 데 결정적인 요소가 되며,
결국 사용자에게 더 나은 경험을 제공하는 완성도 높은 소프트웨어로 이어지는 길이다
'c# > 세미나' 카테고리의 다른 글
| [세미나] Blazor / WPF / MAUI 밋업 (0) | 2024.04.11 |
|---|---|
| [세미나] Blazor / WPF / MAUI 밋업 (INotifyPropertyChanged 구현) (0) | 2024.04.05 |
| [세미나] Blazor / WPF / MAUI 밋업 (멀티 타겟팅 라이브러리) (0) | 2024.04.03 |
| [세미나] Blazor / WPF / MAUI 밋업 (닷넷 버전선택) (0) | 2024.04.03 |
| [세미나] Blazor / WPF / MAUI 밋업 (Application, Current, MainWindow, GetWindow) (0) | 2024.04.03 |