我正在尝试实现输入对话框,但似乎无法弄清楚为什么单击“确定”或“取消”时遇到线程问题。
下面是我创建对话框并显示它的代码段,我看了一些示例和答案,但是在这里我不知道自己在做什么错。
var metroDialogSettings = new MetroDialogSettings()
{
AffirmativeButtonText = "OK",
NegativeButtonText = "CANCEL",
AnimateHide = true,
AnimateShow = true,
ColorScheme = MetroDialogColorScheme.Accented,
};
var dialog = new AddStorageAccountDialog(MainWindowHelper.mainWindow, metroDialogSettings);
await Application.Current.Dispatcher.Invoke(async () =>
{
await MainWindowHelper.mainWindow.ShowMetroDialogAsync(dialog);
await dialog.WaitForButtonPressAsync().ContinueWith((m) =>
{
MainWindowHelper.mainWindow.HideMetroDialogAsync(dialog);
});
var displayname = dialog.DisplayName;
var accountname = dialog.AccountName;
var accountkey = dialog.AccountKey;
});