我想使用与当前窗口
相同的主题来自定义SaveFileDialog
。
我正在使用 MahApps.Metro
和 MaterialDesign
,但我没有找到更改对话框边框的方法...我不想添加东西,我只想自定义按钮的颜色,窗口的颜色等...
有人知道怎么做吗?
最佳答案
简单的答案是这是不可能的。
诸如OpenFileDialog
和SaveFileDialog
之类的对话框正在使用.NET中的 native 操作系统对话框。这意味着与 Windows 10 相比,该对话框在 Windows XP 上的外观和行为会有所不同。由于它们不是托管表单,因此您不能强制它们使用您想要的库。
如果您确实想使用 Metro 主题,您可能需要在 WPF 中创建自己的对话框实现。然而,我真的不会走这条路,因为它很容易出错,而使用操作系统的标准实现是最好的选择。
这里 ( Extend OpenFileDialog and SaveFileDialog Using WPF ) 有关如何使用 WPF 扩展现有系统对话框的更多信息。您很快就会注意到, Hook 到底层 Win32 API 是一项乏味的工作,但仍然没有给您带来太多灵活性。
关于c# - 使用 MahApp.Metro 主题自定义 SaveFileDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445302/