如何摆脱 ContentDialog 的边框?

How to get rid of the Borders of a ContentDialog?

我无法显示无边框的 ContentDialog。如果我设置 BorderBrush="Transparent"BorderThickness="0 0 0 0" 边框仍然存在。

有什么方法可以摆脱它们吗?

也许你可以使用它的 ControlTemplate 在那里你可以改变它的整体风格,但我警告你只编辑它的副本,这将是很多工作要做。

希望我的回答对您有所帮助:)

当 ContentDialog 显示时,BorderBrush 和 BorderThickness 的属性是不可见的。要创建边框,您需要指定具有边框的自定义内容。这 可能会有所帮助。

此外,还有其他几种方法:

1) 正如blueeyes所说:你可以费点功夫修改默认的ControlTemplate。 Here你可以找到ContentDialog的样式和模板的解释

2) 您可以创建一个从ContentDialog 派生的自定义用户对话框,您可以在其中定义自己的样式。 MSDN 有一个简单的例子。

有一个技巧对我有用:当你定义你的ContentDialog(也许在后面的代码中)时,你可以覆盖这个资源:

Application.Current.Resources["ContentDialogBorderWidth"] = new Thickness(0);

我在微软ContentDialog的样式页上资助了这个资源here