Weather Viewer

January 5, 2026 ยท View on GitHub

A modern WinUI 3 desktop weather application built with .NET and MVVM architecture.

.NET WinUI License

Features

  • ๐ŸŒค๏ธ Multi-City Weather - View weather for multiple cities simultaneously
  • ๐Ÿ” City Search - Quick search with autocomplete suggestions
  • ๐ŸŒก๏ธ Temperature Units - Toggle between Celsius and Fahrenheit
  • ๐ŸŽจ Fluent Design - Native WinUI controls with Mica backdrop
  • ๐ŸŒ™ Theme Support - Follows Windows light/dark theme
  • โŒจ๏ธ Keyboard Shortcuts - Ctrl+R to refresh, Ctrl+F to search

Screenshots

Releases

Download the latest release from the Releases page.

Requirements

  • Windows 10 version 1809 (build 17763) or later
  • .NET 10.0 SDK
  • Windows App SDK 1.8+

Getting Started

Clone the repository

git clone https://github.com/YOUR_USERNAME/weather.git
cd weather

Build and Run

dotnet build
dotnet run

Project Structure

weather/
โ”œโ”€โ”€ Models/           # Data models (WeatherData, City)
โ”œโ”€โ”€ Services/         # Weather service interface and mock implementation
โ”œโ”€โ”€ ViewModels/       # MVVM ViewModels
โ”œโ”€โ”€ Views/            # XAML pages and controls
โ”‚   โ””โ”€โ”€ Controls/     # Custom UserControls (WeatherCard)
โ”œโ”€โ”€ Converters/       # Value converters
โ”œโ”€โ”€ App.xaml          # Application resources and theming
โ””โ”€โ”€ weather.csproj    # Project file

Architecture

The application follows the MVVM (Model-View-ViewModel) pattern using CommunityToolkit.Mvvm:

  • Models - Data classes for weather information and cities
  • Views - XAML UI with WeatherCard UserControl
  • ViewModels - Business logic with ObservableObject and RelayCommand
  • Services - Abstracted weather data retrieval

Keyboard Shortcuts

ShortcutAction
Ctrl+RRefresh all weather data
Ctrl+FFocus city search box

Customization

Adding Real Weather API

The app supports WeatherAPI.com for live data.

  1. Get a free API Key from weatherapi.com
  2. Open the app
  3. Click Settings (gear icon)
  4. Enter your API Key and select "Live Data"

The key is stored securely using Windows Credential Manager.

Changing Accent Color

Edit App.xaml to customize the Sky Blue accent:

<Color x:Key="Primary">#YOUR_COLOR</Color>

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments