У меня есть сводный контроль в моем приложении uwp. В событии pivot_selectionchanged я написал для отображения диалога сообщений.Ошибка приложения UWP вместо отображения диалогового окна сообщения
После создания пакета приложения uwp, когда я нажал на элемент поворота, некоторые диалоговые окна предупреждений должны отображаться, но вместо этого они не отображаются, а в этом случае приложение рушится. Это только с некоторыми машинами. Может ли кто-нибудь знать причину?
Код я написал
private void OpenBillPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
bool Isreturn = false;
bool IsExchange = false;
Isreturn = checkUserPermission(Constants.Return);
IsExchange = checkUserPermission(Constants.Exchange);
if (Application.Current.Resources[Constants.RETURNS].ToString() == Constants.FALSE_CAMELCASE)
Isreturn = false;
else
Isreturn = true;
if (Application.Current.Resources[Constants.EXCHANGES].ToString() == Constants.FALSE_CAMELCASE)
IsExchange = false;
else
Isreturn = true;
if ((txtblStatus.Text == "Cancelled" || txtblStatus.Text=="Draft") && (OpenBillPivot.SelectedIndex == 1 || OpenBillPivot.SelectedIndex == 2 || OpenBillPivot.SelectedIndex == 3))
{
TransactionDetails.Visibility = Visibility.Collapsed;
ReturnDetails.Visibility = Visibility.Collapsed;
ExchangeDetails.Visibility = Visibility.Collapsed;
//SimpleMessageDialog(ResourceLoader.GetForCurrentView().GetString("PLEASE_CLEAR_THE_BILL"), ResourceLoader.GetForCurrentView().GetString("ALERT"));
}
else if (OpenBillPivot.SelectedIndex == 2)
{
if ((txtblStatus.Text == "Pending" && txtblBillDue.Text != Constants.ZERO))
{
ReturnDetails.Visibility = Visibility.Collapsed;
ExchangeDetails.Visibility = Visibility.Collapsed;
SimpleMessageDialog(ResourceLoader.GetForCurrentView().GetString("PLEASE_CLEAR_THE_BILL"), ResourceLoader.GetForCurrentView().GetString("ALERT"));
}
else
{
if (!Isreturn)
{
ReturnDetails.Visibility = Visibility.Collapsed;
SimpleMessageDialog("Access Denied", ResourceLoader.GetForCurrentView().GetString("ALERT"));
}
else
ReturnDetails.Visibility = Visibility.Visible;
}
}
и диалог сообщение Код:
private async void SimpleMessageDialog(string Message, string Title)
{
MessageDialog dialog = new MessageDialog(Message, Title);
dialog.CancelCommandIndex = 1;
await dialog.ShowAsync();
}
Может окружать ваш код с заявлениями попробовать/улов, так что вы можете найти исключение, которое происходит, когда он выходит из строя? Сообщение об исключении может помочь вам узнать, что на самом деле происходит. – Streltsov
, вы должны опубликовать исключение своего приложения, чтобы получить более подробную информацию. Спасибо! – RicardoPons
Почему люди предлагают обертывание кода в инструкции try/catch, чтобы найти исключение? Это совершенно ненужно и ужасная идея! ** Когда генерируется исключение, ваш отладчик будет разорваться и сразу же увидеть его в этой точке. Вам не нужна куча блоков catch, которые отображают окна сообщений. ** Глобальный обработчик исключенных обработок уже делает это! Все, что добавляет кучу блоков try/catch, заключается в том, что исключение отключено, и вы никогда не получите хороший шанс отладить их. –