void CSampleDlg::OnBnClickedAdd()
{
…………...……………………...……………...…...…………..
…………...……...…...………...…………...…...…...………….
IAsyncAction async = ShowContentDialog();
async.Completed([&](IAsyncAction asynctest, AsyncStatus st)
{
asynctest.GetResults();
AfxMessageBox(L"completed ..........");
});
AfxMessageBox(L"OK before get");
async.get();
*AfxMessageBox(L"After get");
CString csSNum;
GetDlgItemText(IDC_EDIT4, csSNum);
double sum = _wtof(csSNum);
m_customUctrl.SetSum(100.00);*
}
Windows::Foundation::IAsyncAction CSampleDlg::ShowContentDialog()
{
ContentDialog dialog;
dialog.Content(box_value(L"Do you want to continue to update textbox?"));
dialog.Title(box_value(L"Confirmation"));
dialog.PrimaryButtonText(L"Ok");
dialog.SecondaryButtonText(L"Cancel");
dialog.CloseButtonText(L"Ok");
dialog.XamlRoot(m_customUctrl.XamlRoot());
winrt::Windows::UI::Xaml::Controls::ContentDialogResult result = co_await dialog.ShowAsync();
if (result == ContentDialogResult::Primary)
{
AfxMessageBox(L"Primary");
}
else if (result == ContentDialogResult::Secondary)
{
AfxMessageBox(L"Secondary");
}
else
{
AfxMessageBox(L"Third");
}
co_return;
}
In the above code sample, trying to display a UWP content dialog from MFC SDI application(XAML island hosted application). And to set text on a text box based on the ContentDialog button click(Primary or secondary button). Issue is the code portion after the line "*async.get();* "not executed .