我在显示MessageDialog时遇到问题。 我正在使用运行在Raspberry Pi 3上的Windows IoT核心(应该是最新版本)。
在Debug版本中,一切正常,MessageDialog显示出来。当我部署Release版本时,MessageDialog不会显示,程序会运行,尽管它应该等待用户交互。
是否有必须进行的设置?
var messageDialog = new Windows.UI.Popups.MessageDialog(Message, Title);
await messageDialog.ShowAsync();
在某些消息中,我添加了一个MessageDialog命令,如:
messageDialog.Commands.Add(new UICommand("commandtext", new UICommandInvokedHandler(this.CommandInvokedHandler)));
答案 0 :(得分:0)
有一些关于Windows iot核心不支持Windows.UI.Popups.MessageDialog的线程:[1] [2]。但他们使用发布部署测试它们的新旧版本16299,它的工作原理。我在Raspberry Pi 3上的操作系统版本是10.0.16299.309。
请检查目标和最小版本,然后再次尝试查看它是否有效。
我测试了以下两个条件,它们都有效:
这是我使用的代码:
MainPage.xaml中
<StackPanel VerticalAlignment="Center" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Button Content="OpenDialog" Click="Button_Click" />
<TextBlock Name="CommandInvoked" Text="Waiting..."/>
</StackPanel>
MainPage.xaml.cs中
private async void Button_Click(object sender, RoutedEventArgs e)
{
string Message = "test.";
string Title = "Testing message dialog.";
var messageDialog = new Windows.UI.Popups.MessageDialog(Message, Title);
messageDialog.Commands.Add(new UICommand("commandtext", new UICommandInvokedHandler(this.CommandInvokedHandler)));
await messageDialog.ShowAsync();
}
private void CommandInvokedHandler(IUICommand command)
{
CommandInvoked.Text = "CommandInvokedHandler invoked.";
}