Repository navigation
Releases
v0.4.0
Summary
- Add a reusable Dialog control, theme resources, and sample views.
- Add persisted light/dark theme preferences and title-bar theme switching.
- Improve PathIcon, TreeView virtualization, NumericBox, ScrollViewer, NotifyIcon, MessageBox, and related styles.
- Update sample language switching and localization resources.
改动摘要
- 新增可复用的 Dialog 控件、主题资源及示例页面。
- 支持保存浅色/深色主题偏好,并在标题栏提供主题切换。
- 改进 PathIcon、TreeView 虚拟化、NumericBox、ScrollViewer、NotifyIcon、MessageBox 及相关样式。
- 更新示例程序的语言切换功能和本地化资源。
Full Changelog: v0.3.0...v0.4.0
v0.4.0-preview
概述
汇总从 v0.3.0 以来的功能开发、控件增强、问题修复和示例更新,为 v0.4.0 发布做准备。
变更统计
- 126 个提交
- 187 个文件变更:84 个新增、79 个修改、3 个删除、21 个重命名
- 增加 8,347 行,删除 1,253 行
主要变更
-
控件与功能增强
- ColorPicker 支持 Popup 显示模式。
- TimePicker 支持 12/24 小时格式。
- 重构 Timeline;增强 WaterfallPanel,支持虚拟化并优化布局性能。
- 增加 ScrollViewer 回到顶部/底部能力,并扩展到 ListBox、ListView 和 DataGrid。
- 增强 Tag、PathIcon、Segmented、GridSplitter 等控件及相关示例。
-
窗口和交互体验
- 修复多屏和不同 DPI 下窗口显示模糊、位置不正确等问题。
- 优化滚动条外观、悬停效果及滚动行为。
- 更新示例导航、菜单图标、控件命名和中英文菜单显示。
-
问题修复
- 修复 DateRangePicker 弹出窗口、日期输入和日历显示问题。
- 修复 Toast 在多屏环境中的显示位置问题。
- 修复 SVG
currentColor、MapView 尺寸变化、Segmented 布局和 PanelHelper 间距等问题。 - 改进空 ContextMenu、ComboBox 空白区域点击等场景的稳定性。
-
示例与文档
- 新增 Samples 首页。
- 为示例菜单添加图标,并更新导航菜单显示。
- Samples 支持中文和英文菜单显示及切换。
- 新增和更新多个控件示例。
- 更新中英文 README 和入门文档。
验证
尚未针对本次版本范围运行完整构建或测试。
Overview
This PR collects the feature work, control enhancements, bug fixes, and sample updates since v0.3.0, preparing the project for the v0.4.0 release.
Change Summary
- 126 commits
- 187 files changed: 84 added, 79 modified, 3 deleted, and 21 renamed
- 8,347 insertions and 1,253 deletions
Highlights
-
Control and feature enhancements
- Added Popup display mode support to ColorPicker.
- Added 12/24-hour format support to TimePicker.
- Refactored Timeline and enhanced WaterfallPanel with virtualization and layout performance improvements.
- Added scroll-to-top and scroll-to-bottom support to ScrollViewer, ListBox, ListView, and DataGrid.
- Enhanced Tag, PathIcon, Segmented, GridSplitter, and their samples.
-
Window and interaction experience
- Fixed blurry or incorrectly positioned windows across multiple displays and DPI settings.
- Improved scrollbar appearance, hover effects, and scrolling behavior.
- Updated sample navigation, menu icons, control naming, and Chinese/English menu display.
-
Bug fixes
- Fixed DateRangePicker popup, date input, and calendar display issues.
- Fixed Toast positioning on multi-monitor setups.
- Fixed issues involving SVG
currentColor, MapView resizing, Segmented layout, and PanelHelper spacing. - Improved stability for empty ContextMenu and clicks on blank ComboBox areas.
-
Samples and documentation
- Added a home page to the Samples application.
- Added icons to the sample menu and updated sample navigation.
- Added Chinese and English menu display and language switching in Samples.
- Added and updated multiple control samples.
- Updated the Chinese and English README and getting-started documentation.
Validation
The full build and test suite have not yet been run for this release range.
v0.3.0
What's Changed
- chore: modify wd version 0.2.0 by @yanjinhuagood in #276
- Update README.md by @yanjinhuagood in #278
- merged workflows into master by @yanjinhuagood in #279
- merged workflows into master by @yanjinhuagood in #280
- chore: add path filters to build-net40 and build-net45x workflows by @yanjinhuagood in #282
- merged master into patch-1 by @yanjinhuagood in #283
- Yanjinhuagood patch 1 by @yanjinhuagood in #284
- merge Dev into release/0.3.0 by @yanjinhuagood in #286
- merge Dev into release/0.3.0 by @yanjinhuagood in #287
- Update WPFDevelopers.Samples.Shared.projitems by @yanjinhuagood in #288
- feat: add MapClick and MapFeatureClick support to MapView 💯 by @yanjinhuagood in #289
- merge Dev into release/0.3.0 by @yanjinhuagood in #290
- merge Release/0.3.0 into master by @yanjinhuagood in #291
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- feat:split net40 workflows and enable net40 build on hosted runner by @yanjinhuagood in #268
- merge branch master into 0.2.0 by @yanjinhuagood in #269
- ci: limit builds to master branch only by @yanjinhuagood in #270
- merge dev into 0.2.0 by @yanjinhuagood in #271
- merge Dev into 0.2.0 by @yanjinhuagood in #272
- merge dev into 0.2.0 by @yanjinhuagood in #273
- merge Dev into 0.2.0 by @yanjinhuagood in #274
Full Changelog: v0.1.0...v0.2.0
This pull request introduces several improvements and updates across the workflow configuration, documentation, sample code, and project settings. The main focus areas include enhancing theme switching in the sample application, updating build workflows to support additional resource files and folder naming conventions, adding MarkdownViewer documentation, and incrementing the package version.
Key changes:
1. Theme Switching Improvements in Sample Application
- Replaced the previous toggle button for theme switching in
ThemeExamplewith a segmented control for a more intuitive UI, and updated the logic to use this new control (ThemeExample.xaml,ThemeExample.xaml.cs). [1] [2] [3] - Improved the main window's theme and color switch UI, including new icons, better popup handling, and dedicated event handlers (
MainWindow.xaml,MainWindow.xaml.cs). [1] [2] [3]
2. Build Workflow Enhancements
- Updated GitHub Actions workflows to trigger on
masteronly (notmain), added pull request triggers, and included additional resource DLLs in the build artifacts for both .NET 4.0 and 4.5x builds (build-net40.yml,build-net45x.yml). [1] [2] [3] [4] - Introduced a step in the .NET 4.5x workflow to rename output folders for better compatibility (
build-net45x.yml).
3. Documentation Updates
- Added English and Chinese documentation for the new
MarkdownViewercontrol, including usage examples and links to sample code (getting-started.md). [1] [2]
4. Sample Application Additions and Cleanups
- Added a new Gauge example with offset support (
GaugeExample.xaml). - Removed the obsolete
WindowBasicExamplesample and its code-behind to clean up unused files. [1] [2]
5. Project and Versioning Updates
- Bumped the package version from
0.1.0.0to0.2.0.0inPackage.propsto reflect new features and changes. - Removed
<SignAssembly>True</SignAssembly>from .NET 4.0 and 4.5x project files to simplify build configuration (WPFDevelopers.Net40.csproj,WPFDevelopers.Net45x.csproj). [1] [2]
v0.1.0
What's Changed
-
Update Resources.props by @yanjinhuagood in 06f4c49
-
feat: remove carouse *.jpg by @yanjinhuagood in 6a6a4b6
-
feat: add slide images by @yanjinhuagood in 4f2de58
-
feat: modify the example image of the carousel by @yanjinhuagood in ccd3696
-
feat: modify FocusCarousel click item animation not begin by @yanjinhuagood in 063b854
-
feat: modify Display thumbnail for display by @yanjinhuagood in 2194407
-
feat: modify ControlsHelper CreateBitmapImage add bitmapCache by @yanjinhuagood in b0c6e37
-
feat: modify CircleMenu by @yanjinhuagood in c443bec
-
feat: modify CircleMenut by @yanjinhuagood in 9201aad
-
feat: modify CircleMenu Resource file *.png into *.svg by @yanjinhuagood in 148b422
-
Update Geometrys.xaml by @yanjinhuagood in 935de6b
-
Delete IndexToColor.cs by @yanjinhuagood in 3794814
-
feat: modify SvgViewer default width&height by @yanjinhuagood in e003089
-
feat: Create ResourceHelper by @yanjinhuagood in 855afb8
-
Update SplitButton.cs by @yanjinhuagood in f558084
-
Update HalfValueConverter.cs by @yanjinhuagood in f58538e
-
feat: modify DrawerMenu IsOpen rename IsExpanded by @yanjinhuagood in f43742f
-
Create BrowserHelper.cs by @yanjinhuagood in 09d7194
-
feat: add svg by @yanjinhuagood in c17c444
-
Update PathIcon.cs by @yanjinhuagood in f3b3135
-
Update SvgViewer.cs by @yanjinhuagood in a7e2b7f
-
feat: modify OpenUrl by @yanjinhuagood in 8487536
-
Delete Colors.svg by @yanjinhuagood in 4e64783
-
feat: modify OpenUrl by @yanjinhuagood in 4ae9594
-
Update Styles.Expander.xaml by @yanjinhuagood in c112133
-
feat: modify CircleMenu by @yanjinhuagood in b4a991b
-
Update DrawPrizeExample.xaml.cs by @yanjinhuagood in c740566
-
feat: modify MenuItemModel by @yanjinhuagood in 1c19ff7
-
feat: Del CircleMenuColor by @yanjinhuagood in 87dcb42
-
Update Drawer.cs by @yanjinhuagood in a141721
-
feat: Create SwitchButton by @yanjinhuagood in 6cfb68d
-
Update WPFDevelopers.Shared.projitems by @yanjinhuagood in 043399b
-
Update WPFDevelopers.Shared.projitems by @yanjinhuagood in 9cdeeb6
-
feat: modify PathIcon Foreground into PrimaryTextBrush by @yanjinhuagood in 64892a2
-
Update Drawer.xaml by @yanjinhuagood in 1d068e1
-
feat: modify ColorPicker setting SelectedColor fail by @yanjinhuagood in b5f104b
-
Create Code.svg by @yanjinhuagood in bd538eb
-
feat: modify SvgViewer support opacity by @yanjinhuagood in efe720a
-
feat: add CircleMenu support Darg by @yanjinhuagood in c209cbc
-
feat: modify DrawerExample by @yanjinhuagood in 1771b72
-
feat: modify Hyperlink MouseOver Foreground by @yanjinhuagood in 31a97f6
-
feat: modify Loading show grid & usercontrol not displayed by @yanjinhuagood in 30be8f6
-
Fix issue: NumericBox input cursor position error (#262) by @yanjinhuagood in 9b3b723
-
feat: modify CircleMenu Drag error by @yanjinhuagood in 067e23e
-
Update App.xaml by @yanjinhuagood in 9bf626d
-
feat: Split the basic control example into separate orders by @yanjinhuagood in 0bd915c
-
feat: modify DrawerMenuExample Image into SvgViewer by @yanjinhuagood in 38415fe
-
Update RulerControlExample.xaml by @yanjinhuagood in 36f1c78
-
feat: modify menuEnum by @yanjinhuagood in 264703c
-
Update UsageGuide.xaml by @yanjinhuagood in 0c86cb8
-
Fix issue: NumericBox input cursor position error (#262) by @yanjinhuagood in fdc0d1f
-
feat: modify SplitButton & example by @yanjinhuagood in de1f447
-
Fix issue: Create Segmented (#263) by @yanjinhuagood in c36c25a
-
Update WPFDevelopers.Samples.Shared.projitems by @yanjinhuagood in 8b198cb
-
feat: modify Window add TitleBarLayout content by @yanjinhuagood in bca9985
-
feat: MainWindow TitleBarLayout add ColorPicker setting theme color by @yanjinhuagood in 5b3448b
-
feat: modify MainWindow add CircleMenu by @yanjinhuagood in 1821ced
-
Update WPFDevelopers.SamplesCode.csproj by @yanjinhuagood in e55fba8
-
docs: Update Usage Guide by @yanjinhuagood in b3a3a24
-
Merge pull request #264 from WPFDevelopersOrg/dev by @yanjinhuagood in 34e80d2
-
Update App.xaml by @yanjinhuagood in db4ab91
-
Update WPFDevelopers.Samples40.csproj by @yanjinhuagood in d71c040
-
Update WPFDevelopers.Samples45x.csproj by @yanjinhuagood in 7abcb1b
-
Update WPFDevelopers.Samples40.csproj by @yanjinhuagood in 66689bf
v0.1.0-preview2
What's Changed
-
Create CarouselBase.cs by @yanjinhuagood in fe25969
-
Update Carousel.cs by @yanjinhuagood in b56b548
-
feat: modify CarouseExample by @yanjinhuagood in 1230972
-
feat: modify MasterCarousel rename CardCarousel by @yanjinhuagood in cdb6a89
-
Update WPFDevelopers.Shared.projitems by @yanjinhuagood in 20fa7c1
-
feat: modify EmphasizerCarousel rename FocusCarousel by @yanjinhuagood in 0e4f0cd
-
Update getting-started.md by @yanjinhuagood in fd66543
-
Update getting-started.md by @yanjinhuagood in f2f7086
-
Update README-zh.md by @yanjinhuagood in 9f3f3e9
-
Update README.md by @yanjinhuagood in d091662
-
Fix issue: Current SystemOS WIN11 CornerRadius(4) (#258) 👍 by @yanjinhuagood in 49e6f09
-
feat: modify FocusCarousel by @yanjinhuagood in 0dc7c75
-
Create .gitattributes by @yanjinhuagood in e56ebe5
-
Update Styles.PasswordBox.xaml by @yanjinhuagood in 481d7e6
-
Update Styles.TextBox.xaml by @yanjinhuagood in 0815dee
-
Update Styles.Hyperlink.xaml by @yanjinhuagood in 4f113b4
-
feat: Create SplitButton by @yanjinhuagood in a9d709c
-
Update WPFDevelopers.Shared.projitems by @yanjinhuagood in c7cb68f
-
Merge branch 'dev' into dev-into-0.1.0 by @yanjinhuagood in 400682c
-
Fix issue: Current SystemOS WIN11 CornerRadius(4) (#258) 👍 by @yanjinhuagood in 464c70a
-
Merge dev into release/0.1.0 by @yanjinhuagood in ed5b05e
-
feat: modify version 0.1.0-preview1 into 0.1.0-preview2 by @yanjinhuagood
v0.1.0-preview1
What's Changed
- 0.0.0.2 merge master by @yanjinhuagood in #173
- dev merget into 0.0.0.3 by @yanjinhuagood in #203
- feat: Language add Mosaic & Refresh by @yanjinhuagood in #204
- Merge from 0.0.0.3 to master by @yanjinhuagood in #205
- Merge from 0.0.0.3 to master by @yanjinhuagood in #218
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #233
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #234
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #235
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #236
- Merge: 0.0.0.3 branch to master by @yanjinhuagood in #237
- feat: modify csproj WPFDevelopers 0.0.0.3-rc.1 by @yanjinhuagood in #238
- Merge: dev branch to 0.0.03 by @yanjinhuagood in #240
- Merge: 0.0.03 branch to master by @yanjinhuagood in #241
- Add OnFilterApplied event, invoked after Refresh is done in ApplyFilter method in FilterEngine by @Ragnarokkr-Xia in #251
- Allow user to clear multiple filters at once without Refresh being ca… by @Ragnarokkr-Xia in #253
- Add OnFiltersCleared and OnFiltersChanged events by @Ragnarokkr-Xia in #255
- The filter toggle button in DataGridColumnHeader is now visible whene… by @Ragnarokkr-Xia in #257
- Dev merge into release/0.1.0 by @yanjinhuagood in #259
New Contributors
- @Ragnarokkr-Xia made their first contribution in #251
Full Changelog: #259
v0.0.0.3
What's Changed
- master pull request dev by @yanjinhuagood in #121
- dev pull request master by @yanjinhuagood in #130
- merge dev into master by @yanjinhuagood in #147
- merge master into by @yanjinhuagood in #148
- dev merge master by @yanjinhuagood in #160
- 0.0.0.2 merge master by @yanjinhuagood in #173
- dev merget into 0.0.0.3 by @yanjinhuagood in #203
- feat: Language add Mosaic & Refresh by @yanjinhuagood in #204
- Merge from 0.0.0.3 to master by @yanjinhuagood in #205
- Merge from 0.0.0.3 to master by @yanjinhuagood in #218
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #233
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #234
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #235
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #236
- Merge: 0.0.0.3 branch to master by @yanjinhuagood in #237
- feat: modify csproj WPFDevelopers 0.0.0.3-rc.1 by @yanjinhuagood in #238
Full Changelog: 0.0.0.1...v0.0.0.3
v0.0.0.3-rc.1
What's Changed
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #233
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #234
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #235
- Merge: dev branch to 0.0.0.3 by @yanjinhuagood in #236
- Merge: 0.0.0.3 branch to master by @yanjinhuagood in #237
Full Changelog: v0.0.0.3-preview2...v0.0.0.3-rc.1
This pull request introduces several improvements and refactors across the codebase. The most notable changes are the addition of a new DataGrid filter example, a comprehensive migration from the Message notification system to the new Toast system, and updates to support the latest .NET target frameworks. Additionally, there are minor UI enhancements and copyright updates.
New Feature: DataGrid Filter Example
Added a new DataGridFilterExample control and supporting code to demonstrate advanced DataGrid filtering using the FilterEngine class. This includes a new XAML and code-behind file, with sample data and multiple binding scenarios. [1] [2]
Notification System Refactor
Replaced all usages of Message.Push with Toast.Push (and corresponding types like ToastImage) throughout the sample application, standardizing notification handling and improving consistency in user feedback. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
Framework and Dependency Updates
Added support for the new net10.0-windows target framework and ensured that System.Drawing.Common is referenced for this framework. [1] [2]
Updated copyright year in Package.props.
UI and Theming Enhancements
Improved ScreenCutExample UI by adding corner radius styling and updating button styles for a more modern look. [1] [2]
Updated window chrome behavior in both Window.cs files to adjust glass frame thickness when maximized/restored for better visual consistency. [1] [2]
Renaming and Terminology Updates
Renamed all references from "Message" to "Toast" in the toast notification sample, including file renames, class names, and UI text, to better reflect the new notification paradigm. [1] [2] [3]
These changes collectively modernize the sample application, improve user experience, and ensure compatibility with the latest .NET ecosystem.
v0.0.0.3-preview2
What's Changed
- Merge from 0.0.0.3 to master by @yanjinhuagood in #218
Full Changelog: v0.0.0.3-preview1...v0.0.0.3-preview2
This pull request introduces several new features and improvements across the WPFDevelopers sample projects, with a focus on expanding target framework support, adding new sample views (Dial and SVG Viewer), and enhancing resource and dependency management.
Target Framework and Dependency Updates:
Expanded the list of supported target frameworks to include additional .NET Framework and .NET Core/5+/6+/7+/8+/9+ versions, and ensured that necessary dependencies (like System.Drawing.Common and Microsoft.CSharp) are included for each framework. [1] [2] [3] [4]
Updated the WPFDevelopers package reference to version 0.0.0.3-preview2 in sample projects. [1] [2]
New Sample Features:
Added a new DialExample sample, including its XAML and code-behind, and integrated it into the menu and project files. [1] [2] [3] [4] [5] [6]
Added a new SvgViewerExample sample, with corresponding XAML and code-behind, and updated the menu and project files accordingly. [1] [2] [3] [4] [5] [6]
Resource Management:
Enabled inclusion of all SVG files from the shared resources directory into the project, improving SVG resource handling.
UI and Behavior Improvements:
Refactored loading and progress control templates in Theme.xaml to use Grid.Resources and Grid.Triggers for storyboard management, improving maintainability and reliability of animations. [1] [2] [3]
Improved the tag display trigger by ensuring a minimum height for the tag panel, enhancing UI consistency.
Updated the screen capture logic to use a background thread and delayed UI invocation, improving responsiveness and reliability.