OpenFileDialog SaveFileDialog in WPF

本文介绍了在Windows Vista系统中,OpenFileDialog控件预览功能被ListView遮盖的解决方案,通过设置AutoUpgradeEnabled属性为false,保持XP风格对话框,同时提及了Microsoft.Win32.OpenFileDialog作为替代选择,并提供了相关资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天碰到个难题,项目中用到一个 OpenFileDialog (System.Windows.Forms) 扩展控件(Dialog 右侧带图片预览),在XP下运行没有问题,可在Vista下运行的时候,这个预览框便被 ListView 遮盖住,这可能是因为Vista将 ListView Fill 到 Dialog 的最右侧造成的。

经过一番周折,发现WinForms对话框类包含一个属性 AutoUpgradeEnabled,此属性默认为真,因此在 Windows Vista 运行下 FileDialog 实例自动升级到 Vista 的外观和行为。此属性设置为false ,可以让旧的 XP 对话框风格在 Windows Vista 下使用。还有一个非常重要的是 Vista 下需要安装 .NET 2.0 SP1 支持该属性。:)

 

 

MSDN上的描述:

AutoUpgradeEnabled 该属性获取或设置一个值,该值指示此 FileDialog 实例在 Windows Vista 上运行时是否应自动升级外观和行为。如果此属性为 false,则 FileDialog 类在 Windows Vista 上将具有 Windows XP 样式的外观和行为。在 Windows XP 上,此属性不起任何作用。
 

哈哈,差点弄得我要改控件,把预览放到对话框下面。

 

如果 FileDilag 不用扩展的话,可以使用 Microsoft.Win32 的对话框,该类在 PresentationFramework Assembly。运行在 Windows Vista 上将具有 Windows XP 样式的外观和行为。

 

 

 

关于 OpenFileDialog 的图片预览可以参照这个示例:

http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx

 

Vista Bridge Sample Library 1.4 源代码组件,其包括Vista风格工具栏和文件对话框、常见打开和保存对话框、已知文件夹、网络清单、命令链接控制、航空向导控制、系统提供图标等等。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值