あなたが実際にメッセージを表示するために待っているされていないので、それがすることができ、空からの戻り値の型を変更します。
私が書いたコードは
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 Task SimpleMessageDialog(string Message, string Title)
{
MessageDialog dialog = new MessageDialog(Message, Title);
dialog.CancelCommandIndex = 1;
await dialog.ShowAsync();
}
、それを待つ:
await SimpleMessageDialog(ResourceLoader.GetForCurrentView().GetString("PLEASE_CLEAR_THE_BILL"), ResourceLoader.GetForCurrentView().GetString("ALERT"));
あなたにも非同期する方法を変更する必要があります:あなたはそれがクラッシュした場合に発生する例外を見つけることができるように
private async void OpenBillPivot_SelectionChanged...
は多分のtry/catchステートメントでコードを囲みますか?例外メッセージは、実際に何が起きているのかを知るのに役立ちます。 – Streltsov
詳細を確認するには、アプリケーションの例外を投稿する必要があります。ありがとうございました! – RicardoPons
例外を見つけるためにtry/catch文でコードをラップすることを提案するのはなぜですか?これは完全に不要で、ひどいアイデアです! **例外がスローされると、デバッガが起動し、その時点ですぐにデバッガが表示されます。 **メッセージボックスを表示するcatchブロックの束は必要ありません。**未処理のグローバルな例外ハンドラは既にそれを行います!たくさんのtry/catchブロックを追加することは、例外が抑制され、デバッグするチャンスが決して得られないことを保証するのに役立ちます。 –