亲爱的开发者朋友们我们非常高兴地向大家宣布大熊 Ursa 高性能 Avalonia 控件集 V2.0 正式发布啦您可以通过访问我们的 GitHub 仓库获取更多信息。https://github.com/irihitech/Ursa.Avalonia什么是 UrsaUrsa 是一个 Avalonia 的高性能企业级控件集旨在帮助您快速构建现代化的桌面应用程序。我们致力于提供一套高性能、易用且美观的控件让您可以专注于业务逻辑的开发节约时间和资源提高开发效率。Ursa已经加入.NET基金会成为基金会的正式成员项目。Ursa采用MIT许可协议您可以无任何限制地在任何项目中使用Ursa。更新内容全面迎接Avalonia 12Ursa 2.0 面向Avalonia 12进行设计在窗体装饰、焦点管理、无障碍设计等方面全面采用Avalonia 12的全新API。关于ViewModel框架中立性的变更从Ursa 2.0 开始Ursa的部分控件将要求ViewModel层对Avalonia和Ursa框架产生依赖。详情请阅读https://github.com/irihitech/Ursa.Avalonia/discussions/959新增功能新增控件ThemeVariantMapper用于子区域的主题自动切换。新增控件UrsaGroupBox增强的GroupBox控件。新增捷克语、德语和波兰语支持。主题更新Ursa的Semi主题现在依赖Semi.Avalonia主题库。Semi相关主题库统一归属semi命名空间。高对比度ThemeVariant现在改为使用Semi.Avalonia定义的静态成员。标题栏与标题按钮TitleBar CaptionButtons依据Avalonia 12 更新移除 CaptionButtons 和ChromeLayer 相关旧实现。TitleBar 从 ChromeLayer 迁移至 VisualLayerManager 内部覆盖 UrsaWindow 内容。恢复此前计划移除的 IsMaximizeButtonVisiable等 属性Avalonia 原生 CanMaximize/CanMinimize 仅用于禁用按钮这些属性继续用于控制按钮是否可见。UrsaWindow 需指定 WindowDrawnDecorations 的特殊主题资源。修复新TitleBar设计的相关布局问题。对话框Dialogs根据Avalonia 12的最新设计OverlayDialogHost现在无法覆盖窗体的最大最小关闭等按钮。OverlayDialogHost 新增默认 SafePadding避免标题按钮与对话框内容冲突。对话框 API 大规模重命名为降低迁移成本原API依然有效保留并标记为Obsolete。控件重命名DefaultDialogWindow → StandardDialogWindow、DefaultDialogControl → StandardDialogControl。指定 DefaultDialogControl 内部子控件的名称ScrollBarVisibility 现已作为对话框和抽屉的可配置选项。路径选择器PathPicker按钮内容Content与文件选择器对话框的窗口标题解耦新增 ButtonContent 属性。命令参数改为使用 IStorageItem需 ViewModel 引用 Avalonia后续优化为传递 IReadOnlyListIStorageItem。水印Watermark跟随 Avalonia V12 设计规范所有 Watermark 重命名为 PlaceholderText。为这些控件新增 PlaceholderForeground 属性支持样式自定义。日期时间选择器Date and Time Pickers对日期时间选择器进行全面重构移除焦点管理相关的绝大部分冗余代码调整了DateRangePicker的内部管理。重命名CalendarView → DatePickerCalendarView。DatePickerCalendarView 改用 DateOnly 作为负载原 DateTime。TimePickerPresenter 改用 TimeOnly 作为负载原 TimeSpan。交互调整移除所有控件的弹出切换按钮整个控件可触发弹出层显示/隐藏。文本解析逻辑仅在确认如按 Enter 键或失去焦点时将文本解析为日期/时间不再主动实时更新。日期选择器、时间选择器、日期时间选择器和时间范围选择器现在支持 Confirm 确认功能。日期选择器、日期范围选择器、日期时间选择器新增 DefaultDateKind 属性支持指定 Utc/Local/Unspecified默认 Unspecified。新增系列控件新增类型为DateTimeOffset的日期选择器、日期范围选择器和日期时间选择器。用户可以显式指定时间的Offset。新增系列控件新增类型为DateOnly的日期选择器和日期范围选择器。新增系列控件新增类型为TimeOnly的时间选择器和时间范围选择器。测试补充新增 DateOnly 和 TimeOnly 选择器的无头测试。标签输入TagInput完全重构 TagInput 控件仅支持 ClosableTag 作为元素DataTemplate 仅修改 ClosableTag 的内容。通知与提示Notification and ToastOnClose 委托新增 MessageCloseReason 参数用于说明消息关闭原因。通知和提示管理器支持 Close/CloseAll 操作。Bug 修复修复 ElasticWrapPanel 在设置 IsFillHorizontal 和 ItemWidth 时不跳过隐藏子元素的问题。修复 MultiAutoCompleteBox 在按键提交时抛出异常的问题。修复 NavMenu 初始折叠时不加载子菜单的问题。简化 WindowMessageManager 中的装饰层检索逻辑。移除 ReversibleStackPanelUtils 工具类关于Ursa2.0的破坏性更新细节欢迎访问GitHub讨论区查看https://github.com/irihitech/Ursa.Avalonia/discussions/960Ursa在2.0适配过程中与Avalonia团队紧密合作大量的开发反馈合并到上游在这里由衷感谢Avalonia团队的支持Pull Request - 20716 在Mantra适配过程中发现的空字符串Glyph分行算法问题Pull Request - 20896 Invalidate Rect范围错误Ursa OverlayDialog适配过程中发现的问题Issues - 20875 新控件CommandBar在Semi适配过程中发现的视觉错误和命名规范问题Issues - 20911 自定义Decoration主题在UrsaWindow适配过程中发现的需求Pull Request - 20840 新Decoration体系的全屏问题在Semi适配过程中发现的问题Pull Request - 20934 冗余样式在Semi适配过程中发现的问题Issues - 20961 AccessKey失效在Ursa Form适配过程中发现的问题Pull Request - 20999 VLM的API变化Ursa Notification适配过程中发现的问题Pull Request - 21093 DatePicker样式问题Semi适配过程中发现的问题Pull Request - 20929 API规范问题Ursa适配过程中发现的问题Pull Request - 20856 TabControl DataContext传导Ursa适配过程中发现的问题获取更多信息和资源欢迎访问Ursa的GitHub仓库以获取源代码参与社区讨论并跟踪最新的开发进度。欢迎访问Ursa的GitHub 或 GitCode 仓库以获取源代码参与社区讨论并跟踪最新的开发进度。https://github.com/irihitech/Ursa.Avaloniahttps://gitcode.com/IRIHI_Technology/Ursa.Avalonia我们提供有限度的免费社区支持如果您有任何问题或建议除了在GitHub上提交issue或发起讨论也欢迎加入我们的飞书交流群