MessagDialog在发行版中的Raspberry Pi 3上的Windows IOT中不显示

时间:2018-04-23 11:28:54

标签: c# raspberry-pi3 windowsiot

我在显示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)));

1 个答案:

答案 0 :(得分:0)

有一些关于Windows iot核心不支持Windows.UI.Popups.MessageDialog的线程:[1] [2]。但他们使用发布部署测试它们的新旧版本16299,它的工作原理。我在Raspberry Pi 3上的操作系统版本是10.0.16299.309。

请检查目标和最小版本,然后再次尝试查看它是否有效。

我测试了以下两个条件,它们都有效:

enter image description here enter image description here

这是我使用的代码:

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.";
    }