我在Xamarin.Forms中使用DisplayAlert()
方法。 Internally它使用MessageDialog
。
如何在PointerOver
,Pressed
等不同事件上更改确定和取消按钮的样式?
Here人们确实使用style实现了自己的ContentDialog
。其他人试图覆盖一些画笔,但缺点是其他东西也会改变。
是否有人设法仅为MessageDialog
覆盖样式/控件模板?
答案 0 :(得分:2)
不幸的是,除了显示的文字和按钮之外,您根本无法自定义MessageDialog
。
我认为最简单的解决方案是创建自己的IDialogService
,这将是PCL
中使用DisplayDialog
方法的界面。此方法与Xamarin.Forms
DisplayAlert
方法具有相同的参数。
现在,您将在每个平台上提供此接口的实现。对于Android和iOS,我想你想保持当前的行为不变,所以DisplayDialog
方法的实现可以直接调用Xamarin的DisplayAlert
,只需传递参数。
如果是Windows,您可以显示自定义ContentDialog
。
编写平台特定服务的示例是available in Xamarin Documentation。