Код для создания CustomMessageBox
:CustomMessageBox с Windows Phone 8 Инструментарий броска NullPointerException
CustomMessageBox
это свойство, а не ссылка на C# класса в наборе инструментов.
CustomMessageBox.Dismissed += (dismissSender, dismissedEvent) =>
{
switch (dismissedEvent.Result)
{
case CustomMessageBoxResult.LeftButton:
PlaceCall(clickedFavorite.Name, clickedFavorite.PhoneNo);
break;
case CustomMessageBoxResult.RightButton:
HERE ---> SendText(clickedFavorite.PhoneNo);
break;
}
};
Код для SendText()
метода:
private void SendText(String phoneNo)
{
var smsTask = new SmsComposeTask
{
To = phoneNo
};
smsTask.Show();
}
Дело в том, когда SmsComposeTask
запуститься, телефон переходит к приложению SMS, которое является правильным.
Если пользователь решает вернуться, с Hardware кнопки Назад, приложение SMS закрывается, а телефон показывает мое приложение снова - но тут же закрывается, вызванное NullPointerException:
at Microsoft.Phone.Controls.CustomMessageBox.ClosePopup(Boolean restoreOriginalValues)
at Microsoft.Phone.Controls.CustomMessageBox.<>c__DisplayClass4.<Dismiss>b__1(Object s, EventArgs e)
at Microsoft.Phone.Controls.Transition.OnCompleted(Object sender, EventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
Я также пытались переопределить OnBackKeyPress
событие, как это:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
if (CustomMessageBox != null && CustomMessageBox.IsEnabled)
{
e.Cancel = true;
}
else
{
base.OnBackKeyPress(e);
}
}
кто-нибудь знает, что делать?
Теперь я уже думаю, что я могу сделать, чтобы сохранить _property_ в данных приложения? – KristianB