为什么下面的代码(由于Aybe)挂在行this.single[0].name = i.skill_name;
this.single[0].value= i.score;
上,我希望它得到简单的用户输入,并在用户单击“确定”后继续。但是对话框UI甚至没有完全显示出来。它只是挂有所有白色背景。我只是看到在主窗口的顶部,有一个白色背景的小对话框,它就挂在那里。
我已经看到诸如here之类的问题的解决方案。但是正如该解决方案所建议的那样,我在Button_Click事件上使用了var result = await dialog1.ShowAsync();
。引用的解决方案和我的解决方案之间的区别在于,我使用的是async
,而我可能没有。那么,我可能会缺少什么以及我们如何解决该问题?
UWP
自定义对话框类:
private async void myButton_ClickAsync(object sender, RoutedEventArgs e)
{
var dialog1 = new ContentDialog1();
var result = await dialog1.ShowAsync(); //hangs here
if (result == ContentDialogResult.Primary)
{
var text = dialog1.Text;
}
....
....
}
更新:
我正在使用using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace App1
{
public sealed partial class ContentDialog1 : ContentDialog
{
public static readonly DependencyProperty TextProperty = DependencyProperty.Register(
"Text", typeof (string), typeof (ContentDialog1), new PropertyMetadata(default(string)));
public ContentDialog1()
{
InitializeComponent();
}
public string Text
{
get { return (string) GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
private void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
}
private void ContentDialog_SecondaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
}
}
}
和VS2017
笔记本电脑的最新版本。无需点击(触摸设备)或智能手机或平板电脑。
答案 0 :(得分:0)
在完全按照您的意愿进行操作时,我能够成功显示该对话框。
有一些我们在提供的代码中看不到的东西,或者是因为它可以正常工作。