Skip to content
Phong VΓ΅ edited this page Mar 21, 2026 · 1 revision

🎨 WPF UI

Dark Theme

GitHub-inspired dark theme (Styles.xaml):

Token Color Usage
BgDark #0D1117 Main background
BgMedium #161B22 Cards, panels
BgLight #21262D Hover, elevated
AccentBlue #58A6FF Primary accent
AccentGreen #3FB950 Success, Start button
AccentRed #F85149 Error, Stop button
AccentCyan #56D4DD Secondary accent
TextPrimary #E6EDF3 Main text
TextSecondary #8B949E Labels

Layout: Nested Tabs

MainWindow
β”œβ”€β”€ Title Bar (gradient)
β”œβ”€β”€ TabControl (Left, groups)
β”‚   β”œβ”€β”€ 🌐 WEB β†’ TabControl (Top, tools)
β”‚   β”‚   β”œβ”€β”€ Load Test β†’ LoadTestPanel
β”‚   β”‚   β”œβ”€β”€ HTTP Headers β†’ HttpHeadersPanel
β”‚   β”‚   β”œβ”€β”€ SSL Checker β†’ SSLPanel
β”‚   β”‚   └── WebSocket β†’ WebSocketPanel
β”‚   β”œβ”€β”€ πŸ”§ NETWORK β†’ TabControl (Top)
β”‚   β”‚   β”œβ”€β”€ Ping β†’ PingPanel
β”‚   β”‚   └── Traceroute β†’ TraceroutePanel
β”‚   └── πŸ” DISCOVERY β†’ TabControl (Top)
β”‚       β”œβ”€β”€ DNS β†’ DnsPanel
β”‚       β”œβ”€β”€ Port Scanner β†’ PortScanPanel
β”‚       β”œβ”€β”€ IP Scanner β†’ IPScanPanel
β”‚       β”œβ”€β”€ GeoIP β†’ GeoIPPanel
β”‚       └── Whois β†’ WhoisPanel
└── Status Bar (accent dot + status text)

MVVM Pattern

  • ViewModelBase β€” INotifyPropertyChanged + SetProperty
  • ToolViewModelBase β€” Engine process management, log, status
  • RelayCommand β€” ICommand with Execute/CanExecute

Module Structure

Mα»—i tool module gα»“m 4 files:

Modules/ToolName/
β”œβ”€β”€ ToolNameTool.cs       ← ITool: metadata + factory
β”œβ”€β”€ ToolNameViewModel.cs  ← Logic, parse engine output
β”œβ”€β”€ ToolNamePanel.xaml     ← UI layout
└── ToolNamePanel.xaml.cs  ← code-behind (minimal)

Panel Layout Convention

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  LEFT (340px)    β”‚ 12px β”‚  RIGHT (*) β”‚
β”‚                  β”‚ gap  β”‚            β”‚
β”‚  CardBorder:     β”‚      β”‚  CardBorderβ”‚
β”‚  β”œβ”€β”€ Config      β”‚      β”‚  β”œβ”€β”€ Title β”‚
β”‚  β”œβ”€β”€ Buttons     β”‚      β”‚  └── Data  β”‚
β”‚  └── Stats       β”‚      β”‚    (Grid/  β”‚
β”‚                  β”‚      β”‚     Chart) β”‚
β”‚  CardBorder:     β”‚      β”‚            β”‚
β”‚  └── Log         β”‚      β”‚            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Clone this wiki locally