自定义消息对话框的样式

Customize style of MessageDialog

我正在使用 DisplayAlert() method in Xamarin.Forms. Internally it uses MessageDialog

如何在 PointerOverPressed 等不同事件中更改确定和取消按钮的样式?

Here one does implement it's own ContentDialog with the according style。其他尝试覆盖一些刷子,缺点是其他东西也被改变了。

有没有人设法仅针对 MessageDialog 覆盖 style/control 模板?

遗憾的是,除了显示的文本和按钮,您根本无法自定义 MessageDialog

我认为最简单的解决方案是创建您自己的 IDialogService,这将是 PCL 中带有 DisplayDialog 方法的接口。此方法将具有与 Xamarin.Forms DisplayAlert 方法相同的参数。

现在您将在每个平台上提供该接口的实现。在 Android 和 iOS 的情况下,我想你想保持当前行为不变,所以 DisplayDialog 方法的实现可以直接调用 Xamarin 的 DisplayAlert,只需传递参数。

在 Windows 的情况下,您可以显示您的自定义 ContentDialog

编写平台特定服务的示例是 available in Xamarin Documentation