功能区和工具栏
栏项目菜单标题 - 显示/隐藏标题
我们的ShowContentHeader属性允许您显示/隐藏单个栏项菜单标题的标题(并且通过扩展,创建受 Windows 11 启发的上下文菜单)。

运行演示
要执行此演示,您必须先安装 DevExpress WPF 产品库。
调度器
按需数据加载
我们的WPF 调度程序控件现在可以异步加载约会。使用时,DevExpress 支持的 WPF 调度解决方案保持响应。

运行演示
要执行此演示,您必须先安装 DevExpress WPF 产品库 。
日期导航面板 - 下拉日历和视图选择器
日期导航面板现在可以显示新的 UI 元素。日历按钮打开下拉日历。视图选择器允许用户在日历视图之间切换。
使用ShowCalendarButton和ShowViewSelector选项显示/隐藏相应的 UI 元素。

MVVM
新的 UIObjectService
我们添加了一个新的 UIObjectService 服务。您可以将此服务附加到视图中的任何 UI 元素,以直接从 ViewModel 访问该元素。文档
XAML
<dxg:GridControl ItemsSource="{Binding Source}" AutoGenerateColumns="AddNew">
<dxg:GridControl.View>
<dxg:TableView ...>
<dxmvvm:Interaction.Behaviors>
<dxmvvm:UIObjectService/>
</dxmvvm:Interaction.Behaviors>
</dxg:TableView>
</dxg:GridControl.View>
</dxg:GridControl>
<Button Content="Export to PDF" Command="{Binding ExportToPdfCommand}"/>
C#
using DevExpress.Mvvm;
using DevExpress.Mvvm.DataAnnotations;
// ...
public class MainViewModel : ViewModelBase {
// ...
public IUIObjectService UIObjectService { get { return GetService<IUIObjectService>(); } }
[Command]
public void ExportToPDF() {
UIObjectService.Object.ExportToPdf(@"C:\Work\Documents\GridExport.pdf");
}
}
运行演示
要执行此演示,您必须先安装 DevExpress WPF 产品库 。
数字掩码属性 - 始终显示小数点分隔符
我们使用新的AlwaysShowDecimalSeparator选项 扩展了 NumericMaskAttribute 。当为数字数据字段启用时,绑定编辑器将其编辑值格式化为字符串(显示值),并保留小数点分隔符 ("."),即使编辑值的小数部分为零也是如此。
C#
using DevExpress.Mvvm.DataAnnotations;
// ...
public class DataItem {
public int Id { get; set; }
[NumericMask(UseAsDisplayFormat = true, AlwaysShowDecimalSeparator = true)]
public double NumericField { get; set; }
}
属性网格
上下文菜单的新 API
您可以在代码中显示、隐藏和自定义上下文菜单。新 API 包括:
• MenuOpening
• ShowPropertyMenu
• ShowNewItemMenu
• HideMenu
• IsMenuVisible
收藏按钮 - API 增强
WPF 属性网格 控件现在包括CollectionButtonsVisibility和CollectionButtonClick事件。这些事件允许您设置添加和删除集合按钮。您可以有条件地显示/隐藏这些按钮并处理所需的添加/删除操作。
就地编辑器 - 处理用户操作
我们添加了以下事件:
• GetIsEditorActivationAction - 指定操作是否激活编辑器。
• ProcessEditorActivationAction - 取消激活操作。
• GetActiveEditorNeedsKey - 将用户操作传递给编辑器。
其他
主题消息框 - 文本选择、按钮图像、按计时器关闭
文本选择
启用AllowTextSelection选项以选择消息并将其复制到剪贴板。
C#
var parameters = new ThemedMessageBoxParameters() {
AllowTextSelection = true
};
ThemedMessageBox.Show(
title: "Error",
text: "Error code: DX0001",
messageBoxButtons: MessageBoxButton.OK,
messageBoxParameters: parameters
);
按钮图像
使用Glyph和GlyphAlignment属性在按钮内显示和点亮图像。
C#
var buttonApply = new UICommand() {
// ...
Glyph = new System.Uri("pack://application:,,,/DevExpress.Images.v22.2;component/SvgImages/Icon Builder/Actions_Check.svg")
};
var buttonCancel = new UICommand() {
// ...
Glyph = new System.Uri("pack://application:,,,/DevExpress.Images.v22.2;component/SvgImages/Icon Builder/Actions_Delete.svg")
};
ThemedMessageBox.Show(
title: "Dialog Title",
text: "Message",
icon: MessageBoxImage.Exclamation,
messageBoxButtons: new UICommand[] { buttonApply, buttonCancel }
);
按计时器关闭
使用TimerTimeout属性指定和启用计时器。计时器应用于默认按钮。使用TimerFormat属性设置按钮中显示的计时器字符串的格式。
C#
var parameters = new ThemedMessageBoxParameters() {
TimerTimeout = new System.TimeSpan(0, 0, 5),
TimerFormat = "{0} ({1:%s} sec.)"
};
ThemedMessageBox.Show(
title: "Dialog Title",
text: "Message",
messageBoxButtons: new UICommand[] { buttonOk, buttonCancel },
messageBoxParameters: parameters
);

运行演示
要执行此演示,您必须先安装 DevExpress WPF 产品库。
中键滚动
我们的 WPF UI 控件现在支持中键单击滚动操作。用户现在可以按下鼠标中键并移动鼠标来滚动内容。
将AllowMiddleMouseScrolling属性 设置为“true”以启用此功能。使用MiddleMouseScrollSpeed和MiddleMouseScrollThreshold属性自定义滚动行为。
以下 DevExpress WPF UI 控件支持此功能:
• 数据网格
• Accordion
• 文件预览控制
• 甘特图控制
• 列表框
• PDF 查看器
• 枢轴网格
• 属性网格
• 富文本编辑器
• 电子表格
• 树列表
• 树视图
运行演示
要执行此演示,您必须先安装 DevExpress WPF 产品库 。
渝公网安备50010702505508