Usuário com melhor resposta
Exibir Mensagens Diferente Usando MessageDialog no Windows Phone 8.1

Pergunta
-
Como faço para exibir duas mensagens usando MessageDialog do Windows Phone 8.1?
Tenho dois métodos, um chamado exibirConteudo() e o outro chamado esvaziarDesodorante(). Cada um deles tem uma mensagem, quando excuto o programa, o primeiro método é chamado, mas quando o segundo método é chamado é exibida uma mesangem de erro:
An exception of type 'System.UnauthorizedAccessException' occurred in App6.exe but was not handled in user code Additional information: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)
Como faço para exibir as mensagens contidas nos dois métodos sem ter este erro?
Segue o código abaixo:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; using Windows.UI.Xaml.Media; using Windows.UI.Xaml.Navigation; // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=391641 namespace App6 { /// <summary> /// An empty page that can be used on its own or navigated to within a Frame. /// </summary> public sealed partial class MainPage : Page { public MainPage() { this.InitializeComponent(); Desodorante desodorante1 = new Desodorante(); desodorante1.capacidade = 10.37; desodorante1.tipoMaterial = "Plástico"; desodorante1.exibirConteudo(); desodorante1.esvaziarDesodorante(); this.NavigationCacheMode = NavigationCacheMode.Required; } /// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. /// This parameter is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { // TODO: Prepare page for display here. // TODO: If your application contains multiple pages, ensure that you are // handling the hardware Back button by registering for the // Windows.Phone.UI.Input.HardwareButtons.BackPressed event. // If you are using the NavigationHelper provided by some templates, // this event is handled for you. } } }
Código da Classe Desodorante
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.UI.Popups; namespace App6 { public class Desodorante { public string tipoMaterial; public double capacidade; public async void exibirConteudo() { var dados_desodorante = new MessageDialog("Tipo de Material: " + tipoMaterial + "\n" + "Capacidade: " + capacidade + " ml"); dados_desodorante.Title = "Dados da Classe Desodorante"; dados_desodorante.Commands.Add(new UICommand { Label = "Ok" }); await dados_desodorante.ShowAsync(); } public async void esvaziarDesodorante() { var saida = new MessageDialog("Esvaziando o Desodorante !!!!"); saida.Commands.Add(new UICommand { Label = "Ok" }); await saida.ShowAsync(); } } }
No aguardo dos usuários para que possa resolver este pequeno detalhe, ao mostrar duas mensagens no WP 8.1, criando uma Classe e exibindo seus atributos e métodos, conforme código acima.
- Editado Marcos SJ quarta-feira, 14 de outubro de 2015 12:24 Edição
quarta-feira, 14 de outubro de 2015 10:55
Respostas
-
Olá.
Uma chamada deve estar se sobrepondo a outra. Tente mover o codigo que está no construtor e passe para o método OnNavigatedTo e marque ele como async
Abraço,
Alexandre Dias
Alexandre Dias Simões
- Marcado como Resposta Marcos SJ quinta-feira, 22 de outubro de 2015 12:41
sexta-feira, 16 de outubro de 2015 21:11
Todas as Respostas
-
Olá.
Uma chamada deve estar se sobrepondo a outra. Tente mover o codigo que está no construtor e passe para o método OnNavigatedTo e marque ele como async
Abraço,
Alexandre Dias
Alexandre Dias Simões
- Marcado como Resposta Marcos SJ quinta-feira, 22 de outubro de 2015 12:41
sexta-feira, 16 de outubro de 2015 21:11 -
Bom dia,
Por falta de retorno do usuário, esta thread será encerrada.
Caso seja necessário, por gentileza, abra uma thread nova.
AtenciosamenteMarcos Roberto de Souza Junior
Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
quinta-feira, 22 de outubro de 2015 12:41