# sticky.notes **Repository Path**: daolizhe/sticky.notes ## Basic Information - **Project Name**: sticky.notes - **Description**: 这是一个基于 WPF 开发的桌面便签应用,支持创建、编辑、保存和管理多个便签窗口,数据持久化存储在本地 JSON 文件中。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-18 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StickyNotes A simple and elegant desktop sticky notes application developed with C# WPF. ## Features - 📝 **Multi-window Notes**: Create and manage multiple sticky notes simultaneously - 🖱️ **Free Dragging**: Drag notes to any position via the title bar - 💾 **Auto-save**: Automatically saves content changes without manual operation - 📍 **Position Memory**: Remembers each note's position and size, restoring them on next launch - 🎨 **Clean Interface**: Classic yellow sticky note style, simple and beautiful - ➕ **Quick Create**: Click the + button to quickly create a new note - 🗑️ **Easy Delete**: Click the × button to delete unwanted notes - 📌 **Always on Top**: Click the 📌 button to pin the note to stay on top of all windows ## System Requirements - Windows 10 or higher - .NET 10.0 or higher ## Installation and Running ### Method 1: Run Directly 1. Make sure [.NET 10 SDK](https://dotnet.microsoft.com/download) is installed 2. Run in the project directory: ```bash dotnet run ``` ### Method 2: Publish as Standalone App ```bash dotnet publish -c Release -r win-x64 --self-contained true ``` After publishing, the executable can be found in `bin\Release\net10.0-windows\win-x64\publish\`. ## Usage ### Basic Operations 1. **Launch**: The program automatically restores all notes from the last session 2. **Create New Note**: Click the **+** button on the note's title bar 3. **Delete Note**: Click the **×** button on the note's title bar and confirm 4. **Pin Note**: Click the **📌** button to keep the note always on top; click **📍** to unpin 5. **Move Note**: Drag the title bar to move the note anywhere 6. **Resize**: Drag the window edges to resize the note ### Data Storage - Notes are automatically saved to: `%APPDATA%\StickyNotes\notes.json` - Data is stored in JSON format and can be manually backed up or edited ### Keyboard Shortcuts | Shortcut | Function | |----------|----------| | `Ctrl + N` | Create new note (in development) | | `Ctrl + W` | Close current note (in development) | ## Project Structure ``` StickyNotes/ ├── Models/ │ └── NoteModel.cs # Note data model ├── Services/ │ ├── DataService.cs # Data persistence service │ └── WindowManager.cs # Window management service ├── Views/ │ ├── NoteWindow.xaml # Note window XAML │ └── NoteWindow.xaml.cs # Note window code ├── App.xaml # Application resources ├── App.xaml.cs # Application startup logic └── README.md # Project documentation ``` ## Tech Stack - **Framework**: .NET 10 WPF - **Language**: C# 12 - **UI Technology**: XAML, WPF Controls - **Data Storage**: JSON serialization ## Development Roadmap - [x] Basic note functionality - [x] Multi-window management - [x] Data persistence - [x] Position memory - [x] Unit tests - [x] Always on top (Pin) - [ ] Rich text editing - [ ] Custom note colors - [ ] System tray icon - [ ] Auto-start on boot - [ ] Cloud sync ## Contributing Issues and Pull Requests are welcome! ## License MIT License ## Contact Feel free to provide feedback if you have any questions or suggestions!