DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
DevExpress WPF的Theme Designer是一个独立的工具,允许开发人员根据内置的DevExpress WPF应用程序主题修改和创建新的主题,本文主要介绍WPF主题设计器的可视化元素。
许多DevExpress的忠实用户都在反馈想要一个这样的UI控件,可以解决一个简单的需求:选择一个文件或文件夹并将结果传递给编辑器。在本文中,我们将为大家介绍如何使用新的WPF BrowsePathEdit在DevExpress驱动的WPF应用程序中配置文件/文件夹选择。
DevExpress WPF v22.1正式版下载(q技术交流:600715373)
全新的WPF BrowsePathEdit组件是很有价值的,如果您需要执行以下操作:
- 选择打开操作的文件/文件夹路径
- 选择“另存为”操作的文件路径
这个新的UI控件包括以下功能:
- 文件和文件夹的自定义图标支持(从文件系统加载)
- 拖放 - 允许用户从文件系统中拖动文件并获取文件路径信息
- 所选路径旁边显示的Clear按钮
用法示例
根据文件格式限制上传
本示例基于特定的文件格式限制文件上传(对于本示例,我们将文件上传操作限制为PDF文件),此示例还显示了一个自定义PDF图标,以指示文件格式限制。
实现
下面的代码向应用程序添加文件格式限制并更改图标。
为了复制这个实现,开发人员需要将IconSelector添加到Window Resources中,并为BrowsePathEdit.指定PathIconSelector 。
<dx:ThemedWindow.Resources>
<local:IconSelector x:key="iconSelector">
</local:IconSelector>
</dx:ThemedWindow.Resources>
<!---->
<dxe:BrowsePathEdit DialogType="FileOpen"
EditValue="{Binding SourceFilePath, UpdateSourceTrigger=PropertyChanged}"
DialogFilter="*.pdf|*.pdf"
PathIconSelector="{StaticResource iconSelector}">
</dxe:BrowsePathEdit>
在下面的代码中, IconSelector 类指定了自定义PDF图标的路径。
public class IconSelector : IPathIconSelector {
public ImageSource Select(string path) {
if(File.Exists(path))
return new BitmapImage(new Uri("pack://application:,,,/DevExpress.Images.v22.2;component/Images/Export/ExportToPDF_16x16.png"));
return null;
}
}
打开一个文件夹
BrowsePathEdit允许用户打开并选择一个工作文件夹,用户还可以直接将文件夹拖放到编辑器中。
实现
要打开/选择文件夹,开发人员需要使用BrowsePathEdit的BrowsePathEdit.DialogType属性,并将AllowDrop属性设置为true(并将ClearCommand添加到BrowsePathEdit控件)。
<dxe:BrowsePathEdit DialogType="Folder"
AllowDrop="True"
NullText="Drop a folder here">
<dxe:ButtonInfo GlyphKind="Cancel"
Command="{Binding (dxe:BaseEdit.OwnerEdit).SetNullValueCommand, RelativeSource={RelativeSource Self}}" />
</dxe:BrowsePathEdit>
要使用不同的图标(无论是否指定路径),向IconSelector类添加两个图标路径:
public class IconSelector : IPathIconSelector {
public ImageSource Select(string path) {
if(Directory.Exists(path))
return new BitmapImage(new Uri("pack://application:,,,/DevExpress.Images.v22.2;component/Images/Business Objects/BOFolder_16x16.png"));
return null;
}
}
选择文件路径
BrowsePathEdit控件的另一个特性是能够选择文件保存操作的路径(例如,如果用户生成了一个Excel文件并使用BrowsePathEdit控件将其保存在应用程序中)。
当我们使用BrowsePathEdit.DialogType属性的FileSave值时,对话框窗口允许我们保存文件,而不是打开它。
实现
在这个代码示例中,我们使用BrowsePathEdit.DialogType属性的FileSave值,并指定DialogFilter属性。
<dxe:BrowsePathEdit DialogType="FileSave"
DialogFilter="*.xlsx|*.xlsx"
EditValue="{Binding SourceFilePath, UpdateSourceTrigger=PropertyChanged}">
<dxe:ButtonInfo GlyphKind="Cancel"
Command="{Binding (dxe:BaseEdit.OwnerEdit).SetNullValueCommand, RelativeSource={RelativeSource Self}}" />
</dxe:BrowsePathEdit>