WPF Standard Control Demo App (.NET 10)
Comprehensively verify the behavior of WPF standard UI in the latest .NET 10 environment. Available as a pre-built executable. Visualize "feasibility" before writing a single line of code.
Overview: Centralized UI Validation for Next-Gen .NET
This application is a centralized demo tool designed to verify how WPF (Windows Presentation Foundation) standard controls operate and render on the latest .NET 10 runtime.
It covers everything from basic elements like Buttons and TextBoxes to complex components like ListViews and DataGrids. More than just a catalog, it serves as a "living specification" for testing focus transitions and visual styles under real OS conditions.
Pre-built executables (.exe) are available via GitHub Releases. You can experience next-gen WPF behavior instantly by simply downloading the app—even without the .NET 10 SDK installed on your system.
Background: Balancing "Raw Beauty" and Portability
As .NET evolves, WPF undergoes subtle rendering changes. Verifying existing UI assets on the latest runtime is essential for modern Windows app development.
My focus was achieving high visibility using only standard features, without relying on third-party libraries. While external UI kits make it easy to polish an app, they often obscure the "standard behavior" we need to verify.
By adhering to Style definitions to optimize hierarchy and visibility, I've created a tool that provides instant access to "Pure WPF." Providing it in a pre-built format removes the barrier of environment setup, allowing everyone to interact with the tech immediately.
Technical Insights: Tips for Clean Style Design in WPF
Here are the key design principles used to customize standard controls in this app.
1. Design Leveraging Property Orthogonality
By utilizing "orthogonality" in Style definitions, I ensured that changing one property doesn't break others. This creates a robust UI that remains stable even when experimenting with complex property combinations.
2. Effective Use of Inheritance (BasedOn)
To avoid code duplication, I defined common Base Styles and extended them using BasedOn. This provides the flexibility to adapt to new rendering characteristics across the entire app at once.
3. Separation via Resource Dictionaries
Design (XAML) and logic (C#) are strictly separated, with all styles managed through ResourceDictionary. This structure makes it easy for developers to "cherry-pick" specific styles for their own projects.
Technology Stack
- Runtime: .NET 10
- Framework: WPF
- UI Implementation: XAML (Pure Style Definition / ResourceDictionary)
- Development Environment: C# 14 / Visual Studio 2026
Control Reference Pages
Detailed documentation for each control demonstrated in the app is available on the pages below. Each page covers the control's overview and an explanation of each property and its behavior.
Inputs
TextBox
Text input, wrapping, character casing, max length and more.
PasswordBox
Password masking, caret brush, selection brush, max length.
Button
IsCancel, IsDefault, ClickMode, Command, CommandParameter.
RepeatButton
Delay and Interval for continuous click firing.
ToggleButton
IsChecked state (Null/False/True), IsThreeState.
CheckBox
IsChecked, IsThreeState, VerticalContentAlignment.
RadioButton
GroupName for mutual exclusivity, VerticalContentAlignment.
ComboBox
IsEditable, IsReadOnly, SelectedValue, DisplayMemberPath and more.
DatePicker
SelectedDate, DisplayDate range, FirstDayOfWeek, SelectedDateFormat.
Slider
Value range, orientation, tick marks, auto-tooltip and more.
Layout
Grid
Row/Column placement, spans, shared size groups, and sizing rules.
StackPanel
Orientation, background, Z-order.
WrapPanel
Orientation, ItemHeight, ItemWidth.
DockPanel
Dock attached property, LastChildFill.
UniformGrid
Columns, Rows, FirstColumn for even grid layouts.
Viewbox
Stretch and StretchDirection for scaling content.
ScrollViewer
Scrollbar visibility, deferred scrolling, scroll state properties.
Display
TextBlock
Text, wrapping, trimming, font properties, foreground, line height.
Label
Target (access key), content, font properties, border.
ProgressBar
IsIndeterminate mode, Orientation.
GroupBox
Header, content, padding, font properties, border.
Expander
IsExpanded, ExpandDirection, header, content, font properties.
List
ListBox
SelectionMode, DisplayMemberPath, SelectedValue, scrollbars.
ListView
GridView columns, AllowsColumnReorder, SelectionMode.
TreeView
IsExpanded, IsSelected, HierarchicalDataTemplate.
DataGrid
Comprehensive data table: AutoGenerateColumns, SelectionMode, editing, and more.
Graphics
Image
Source, Stretch, StretchDirection.
Canvas
Absolute positioning with Top/Left/Right/Bottom, ZIndex.
InkCanvas
EditingMode, drawing attributes, strokes.
Selectors
Menu
Menu
IsMainMenu, MenuItem properties: IsCheckable, Command, Icon.
ToolBar
Overflow items, Band/BandIndex, ToolBarTray orientation.
Overlays
ToolTip
Placement, timing (ToolTipService), appearance customization.
Popup
IsOpen, StaysOpen, Placement, PopupAnimation.
Resizer
Downloads & Repository
You can download the latest version or explore the source code on GitHub:
🚀 Download Pre-built .exe (GitHub Releases)
View GitHub Repository (Source Code)