2016-11-22 103 views
2

我在Xamarin.Forms中使用DisplayAlert()方法。 Internally它使用MessageDialog自定义MessageDialog风格

如何在PointerOver,Pressed等不同事件中更改ok和cancel按钮的样式?

Here一个确实执行它自己的ContentDialogstyle。其他尝试覆盖一些笔刷,其缺点是其他的东西也改变了。

有没有人得到它成功地只覆盖了MessageDialog风格/控制模板?

回答

2

不幸的是,除了所显示的文本和按钮,你不能自定义MessageDialog可言。

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

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

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

的写作平台,具体服务的一个例子是available in Xamarin Documentation