自定义消息对话框的样式
Customize style of MessageDialog
我正在使用 DisplayAlert()
method in Xamarin.Forms. Internally it uses MessageDialog
。
如何在 PointerOver
、Pressed
等不同事件中更改确定和取消按钮的样式?
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。
我正在使用 DisplayAlert()
method in Xamarin.Forms. Internally it uses MessageDialog
。
如何在 PointerOver
、Pressed
等不同事件中更改确定和取消按钮的样式?
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。