xaml - 自定义MessageDialog的样式

标签 xaml uwp xamarin.forms windows-10-universal messagedialog

我正在使用DisplayAlert() Xamarin.Forms 中的方法。 Internally它使用 MessageDialog

如何更改不同事件(例如 PointerOverPressed 等)上“确定”和“取消”按钮的样式?

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/

相关文章:

c# - Silverlight xaml 中是否有等效的度量字符串?

Windows7 上的 WPF 文本框边框

email - 通过 Windows 8 Metro 应用程序发送电子邮件的可用选项?

c# - UWP 单元测试无法在 Visual Studio 2015 中初始化客户端代理

c# - UWP 中的 ListView 在 INotifyCollectionChanged 报告批量更改时出现意外行为

android - 如何更改 TextInputLayout 中的提示文本大小

xaml - Xamarin.Forms XAML 绑定(bind)到 x :String

wpf - "Resource Dictionary (WPF)"命名约定和管理建议

xaml - 样式继承 - 如何优化自定义默认样式?

xamarin.forms - Xamarin.Forms 中是否可以有多个依赖项实例?