2

Я использую метод DisplayAlert() в Xamarin.Forms. Internally используется MessageDialog.Настроить стиль MessageDialog

Как изменить стиль кнопки «ОК» и «Отмена» на разных событиях, таких как PointerOver, Pressed и т. Д.?

Here один реализует его собственный ContentDialog с соответствующими style. Другие пытаются переопределить некоторые кисти, с тем недостатком, что другие вещи тоже изменены.

Неужели кому-нибудь удалось переопределить шаблон стиля/управления только для MessageDialog?

ответ

2

К сожалению, кроме отображаемого текста и кнопок вы не можете настроить MessageDialog.

Я думаю, что самым простым решением было бы создать свой собственный IDialogService, который был бы интерфейсом в PCL с использованием метода DisplayDialog. Этот метод будет иметь те же параметры, что и метод Xamarin.FormsDisplayAlert.

Теперь вы должны обеспечить реализацию этого интерфейса на каждой платформе. В случае Android и iOS я предполагаю, что вы хотите сохранить текущее поведение неповрежденным, поэтому реализация метода DisplayDialog может просто вызвать Xamarin's DisplayAlert напрямую, просто передав аргументы.

В случае Windows вы можете отобразить свой заказ ContentDialog.

Примером написания конкретных услуг на платформе является available in Xamarin Documentation.

Смежные вопросы