Próbuję dodać MessageDialog do aplikacji Windows Phone 8.1 (WinRT) z 3 poleceniami. Patrząc na dokumentacji MessageDialog:WiadomośćDialog łamie się na Windows Phone 8.1 z 3 komendami
http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.popups.messagedialog.aspx
Mówi, że „dialog ma pasek poleceń, które może obsługiwać do trzech poleceń”, więc należy myśleć, że nie ja byłby problem. Wziąłem ich przykład (znaleziony w dokumentacji) i zrobiłem z niego prostą aplikację testową, która działała doskonale zarówno na komputerze stacjonarnym, jak i na telefonie z systemem Windows. Następnie wziąłem ten sam przykład i dodania jednego polecenia do niego:
var messageDialog = new MessageDialog("No internet connection has been found.");
// Add commands and set their callbacks; both buttons use the same callback function instead of inline event handlers
messageDialog.Commands.Add(new UICommand(
"Try again",
new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand(
"Something else",
new UICommandInvokedHandler(this.CommandInvokedHandler)));
messageDialog.Commands.Add(new UICommand(
"Close",
new UICommandInvokedHandler(this.CommandInvokedHandler)));
// Set the command that will be invoked by default
messageDialog.DefaultCommandIndex = 0;
// Set the command to be invoked when escape is pressed
messageDialog.CancelCommandIndex = 1;
// Show the message dialog
await messageDialog.ShowAsync();
To działa prawidłowo w aplikacji pulpitu Windows, ale kiedy biorę dokładnie ten sam kod i spróbuj użyć go do aplikacji Windows Phone, nie ma problemu z dodaniem trzeciego polecenia, ale gdy dojdzie do oczekującej linii messageDialog.ShowAsync(), nastąpi awaria z nieobsługiwanym wyjątkiem. Co ciekawe, nie powoduje awarii w taki sam sposób, jak robi to aplikacja komputerowa po dodaniu 4 poleceń. W tym celu wyrzuci wyjątek podczas próby dodania czwartego polecenia. Przez telefon nie będzie z tym problemu, ale nie zadziała, gdy spróbuje pokazać komunikat messageDialog.
Czy brakuje mi czegoś, czy też maksymalna liczba poleceń w MessageDialog po cichu spada z 3 na 2, gdy korzystasz z telefonu?
myślę, że utknęliśmy z maksymalnie 2 komend w domyślnym MessageDialog na WinRT do telefonu. –
OK, dziękuję za odpowiedź. Mogę wymyślić sposób, żeby sobie z tym poradzić, byłoby miło, gdyby to było zawarte w dokumentacji, chociaż ... – Carson