DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

界面控件DevExpress WPF中文指南 - 如何为WPF应用程序配置文件/文件夹选择?

来源:   发布时间:2022-12-26   浏览:1039次

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

DevExpress WPF的Theme Designer是一个独立的工具,允许开发人员根据内置的DevExpress WPF应用程序主题修改和创建新的主题,本文主要介绍WPF主题设计器的可视化元素。

许多DevExpress的忠实用户都在反馈想要一个这样的UI控件,可以解决一个简单的需求:选择一个文件或文件夹并将结果传递给编辑器。在本文中,我们将为大家介绍如何使用新的WPF BrowsePathEdit在DevExpress驱动的WPF应用程序中配置文件/文件夹选择。

DevExpress WPF v22.1正式版下载

DevExpress技术交流群6:600715373      欢迎一起进群讨论

全新的WPF BrowsePathEdit组件是很有价值的,如果您需要执行以下操作:

  • 选择打开操作的文件/文件夹路径
  • 选择“另存为”操作的文件路径

这个新的UI控件包括以下功能:

  • 文件和文件夹的自定义图标支持(从文件系统加载)
  • 拖放 - 允许用户从文件系统中拖动文件并获取文件路径信息
  • 所选路径旁边显示的Clear按钮
用法示例
根据文件格式限制上传

本示例基于特定的文件格式限制文件上传(对于本示例,我们将文件上传操作限制为PDF文件),此示例还显示了一个自定义PDF图标,以指示文件格式限制。

界面控件DevExpress WPF中文指南 - 如何为WPF应用程序配置文件/文件夹选择?

实现

下面的代码向应用程序添加文件格式限制并更改图标。

为了复制这个实现,开发人员需要将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允许用户打开并选择一个工作文件夹,用户还可以直接将文件夹拖放到编辑器中。

界面控件DevExpress WPF中文指南 - 如何为WPF应用程序配置文件/文件夹选择?

实现

要打开/选择文件夹,开发人员需要使用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控件将其保存在应用程序中)。

界面控件DevExpress WPF中文指南 - 如何为WPF应用程序配置文件/文件夹选择?

当我们使用BrowsePathEdit.DialogType属性的FileSave值时,对话框窗口允许我们保存文件,而不是打开它。

界面控件DevExpress WPF中文指南 - 如何为WPF应用程序配置文件/文件夹选择?

实现

在这个代码示例中,我们使用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>

更多DevExpress线上公开课、中文教程资讯请上中文网获取

慧都2022年终促销火热开启,欢迎选购
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/3507.html

相关产品: DevExpress Universal Subscription,

在线
客服
微信
QQ 电话
023-68661681
返回
顶部