A Fallout 4 Pip-Boy inspired theme library for Avalonia UI.
Sharp corners, monochromatic phosphor palette, retro terminal aesthetic — drop it in as your sole application theme and every standard control gets the Vault-Tec treatment.
▶ Try the live WASM demo — runs entirely in the browser, no install needed.
A significant portion of this codebase was written with Claude Code.
- Full control coverage — Button, RepeatButton, HyperlinkButton, SplitButton, DropDownButton, TextBox, CheckBox, RadioButton, ToggleButton, ToggleSwitch, Slider, ProgressBar, ScrollBar, ListBox, ComboBox, TreeView, TabControl, Menu, ContextMenu, Expander, NumericUpDown, AutoCompleteBox, DatePicker, TimePicker, CalendarDatePicker, SplitView, GridSplitter, ToolTip, FlyoutPresenter, DataValidationErrors, Notification, and more.
- Runtime color switching — change the primary color at any time; all brush resources and CRT effects update instantly.
- Monochromatic palette — the entire color system is derived from a single HSL primary color.
- Purpose-built controls —
CrtDisplay,PipboyWindow,PipboyTitleBar,PipboyCountdown,PipboyPanel,SegmentedBar,RatedAttribute,BracketHighlight,PipboyTabStrip,TerminalPanel,BlinkText,ScanlineOverlay. - MVVM-ready — all custom controls expose
ICommandproperties alongside routed events. - No rounded corners — all controls use
CornerRadius="0"by design. - Zero third-party dependencies — only
Avaloniais referenced. - AOT / trimming compatible — compiled XAML bindings,
IsTrimmable, andIsAotCompatibleall enabled. - Multi-platform — Desktop (Windows, macOS, Linux), Browser (WASM), Android, iOS.
| Platform | Notes |
|---|---|
| Windows / macOS / Linux | IClassicDesktopStyleApplicationLifetime |
| Browser (WASM) | Avalonia.Browser |
| Android | net8.0-android |
| iOS | net8.0-ios |
dotnet add package Pipboy.Avalonia
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:pipboy="clr-namespace:Pipboy.Avalonia;assembly=Pipboy.Avalonia"
x:Class="MyApp.App">
<Application.Styles>
<pipboy:PipboyTheme />
</Application.Styles>
</Application>PipboyTheme is a self-contained Styles collection — no base Fluent/Simple theme required.
// Before the window is shown, or at any time at runtime
PipboyThemeManager.Instance.SetPrimaryColor(Color.Parse("#FFA500")); // AmberThe default color is phosphor green. Subscribe to ThemeColorChanged to react to color updates.
Explore all controls and their properties interactively in the live demo or browse the samples/ directory.
| Control | Description |
|---|---|
CrtDisplay |
Layered CRT effects (scanlines, scan beam, noise, vignette, flicker) over any content |
PipboyWindow |
Custom-chrome window with themed title bar, icon, and system buttons |
PipboyTitleBar |
Standalone version of the title bar chrome for embedding in layouts |
PipboyPanel |
Titled, closable panel with Closed event and ClosedCommand |
PipboyTabStrip |
Tab-strip navigation with bracket indicators and gamepad D-Pad support |
PipboyCountdown |
Countdown timer with configurable precision and CompletedCommand |
SegmentedBar |
Discrete rectangular segment bar — HP/AP/RAD style |
RatedAttribute |
Named attribute with filled/empty dot indicators — S.P.E.C.I.A.L. style |
TerminalPanel |
Terminal-screen container with optional typewriter reveal effect |
BlinkText |
Configurable blink animation wrapper (pure XAML, WASM safe) |
ScanlineOverlay |
Decorator that draws CRT scanlines over its child |
BracketHighlight |
Animated > ... < bracket indicators on hover or selection |
All tokens are available as {DynamicResource} in XAML and update automatically when the primary color changes.
| Resource Key | Description |
|---|---|
PipboyPrimaryBrush |
Primary brand color |
PipboyPrimaryLightBrush |
Lighter variant (+0.25 lightness) |
PipboyPrimaryDarkBrush |
Darker variant (−0.25 lightness) |
PipboyBackgroundBrush |
Window / deepest background |
PipboySurfaceBrush |
Default control surface |
PipboySurfaceHighBrush |
Elevated / prominent surface |
PipboyTextBrush |
Primary text |
PipboyTextDimBrush |
Secondary / label text |
PipboyBorderBrush |
Default control border |
PipboyBorderFocusBrush |
Focused control border |
PipboyHoverBrush |
Hover state background |
PipboyPressedBrush |
Pressed state background |
PipboySelectionBrush |
Selected item background |
PipboyFocusBrush |
Focus ring color |
PipboyDisabledBrush |
Disabled foreground |
PipboyErrorBrush |
Error severity |
PipboyWarningBrush |
Warning severity |
PipboySuccessBrush |
Success severity |
| Resource Key | Description |
|---|---|
PipboyPrimaryColor |
Raw Color of the primary |
PipboyBackgroundColor |
Raw Color of the background |
PipboyTextColor |
Raw Color of the text |
| Resource Key | Value |
|---|---|
PipboyFontFamily |
Consolas, Courier New, monospace |
PipboyFontSizeXSmall |
10 |
PipboyFontSizeSmall |
11 |
PipboyFontSize |
13 |
PipboyFontSizeLarge |
16 |
11.3.12 (tested). Compatible with Avalonia 11.x.
MIT


