Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用MahApp.Metro主题自定义SaveFileDialog_C#_Wpf_Material Design_Mahapps.metro_Savefiledialog - Fatal编程技术网

C# 使用MahApp.Metro主题自定义SaveFileDialog

C# 使用MahApp.Metro主题自定义SaveFileDialog,c#,wpf,material-design,mahapps.metro,savefiledialog,C#,Wpf,Material Design,Mahapps.metro,Savefiledialog,我想使用与当前窗口相同的主题自定义SaveFileDialog 我正在使用MahApps.Metro和MaterialDesign,我没有找到一种方法来更改对话框的边框。。。我不想添加东西,我只想自定义按钮的颜色,窗口的颜色等 有人知道怎么做吗?简单的回答是这是不可能的 OpenFileDialog和SaveFileDialog等对话框使用.NET中的本机操作系统对话框。这意味着与Windows 10相比,该对话框在Windows XP上的外观和行为将有所不同。因为它们不是托管表单,所以不能强制

我想使用与当前窗口相同的主题自定义SaveFileDialog

我正在使用MahApps.Metro和MaterialDesign,我没有找到一种方法来更改对话框的边框。。。我不想添加东西,我只想自定义按钮的颜色,窗口的颜色等


有人知道怎么做吗?

简单的回答是这是不可能的

OpenFileDialog和SaveFileDialog等对话框使用.NET中的本机操作系统对话框。这意味着与Windows 10相比,该对话框在Windows XP上的外观和行为将有所不同。因为它们不是托管表单,所以不能强制它们使用想要使用的库

如果您真的想使用metro主题,您可能需要在WPF中创建自己的对话框实现。然而,我真的不会走这条路,因为它很容易出错,使用操作系统的标准实现是这里的最佳选择


下面是有关如何使用WPF扩展现有系统对话框的更多信息。您很快就会注意到,连接到底层Win32 API是一项乏味的工作,但仍然没有给您带来太多的灵活性。

我读了这篇文章,但我希望有一种方法可以避免创建它。。。我不知道我是否会尝试现在定制它。。。但是谢谢你的回答:没问题。如果您决定尝试定制,祝您好运。这很有趣,但很有挑战性!: