我正在使用DisplayAlert()
Xamarin.Forms 中的方法。 Internally它使用 MessageDialog
。
如何更改不同事件(例如 PointerOver
、Pressed
等)上“确定”和“取消”按钮的样式?
Here确实使用相应的 style 实现了自己的 ContentDialog
。其他尝试覆盖一些画笔,缺点是其他东西也被改变。
有没有人设法仅覆盖 MessageDialog
的样式/控件模板?
最佳答案
不幸的是,除了显示的文本和按钮之外,您根本无法自定义 MessageDialog
。
我认为最简单的解决方案是创建您自己的 IDialogService
,它是 PCL
中具有 DisplayDialog
方法的接口(interface)。此方法与 Xamarin.Forms
DisplayAlert
方法具有相同的参数。
现在您将在每个平台上提供此接口(interface)的实现。对于 Android 和 iOS,我想您希望保持当前行为不变,因此 DisplayDialog
方法的实现可以直接调用 Xamarin 的 DisplayAlert
,只需传递参数即可。
如果是 Windows,您可以显示自定义 ContentDialog
。
编写特定于平台的服务的示例是 available in Xamarin Documentation .
关于xaml - 自定义MessageDialog的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745280/