C# 使用Callisto CustomDialog等待响应

C# 使用Callisto CustomDialog等待响应,c#,xaml,windows-8,customdialog,callisto,C#,Xaml,Windows 8,Customdialog,Callisto,我有一个使用Callisto toolkit和CustomDialog控件的Windows应用商店应用程序 在FOREACH中,我显示CustomDialog。问题是我需要等待用户的响应,我的意思是,等待点击按钮事件(按钮1或按钮2) 使用MessageDialog很容易,您只需等待dialog.ShowAsync() <callisto:CustomDialog x:FieldModifier="public" x:Name="JustATest" Background="Wh

我有一个使用Callisto toolkit和CustomDialog控件的Windows应用商店应用程序

在FOREACH中,我显示CustomDialog。问题是我需要等待用户的响应,我的意思是,等待点击按钮事件(按钮1或按钮2)

使用MessageDialog很容易,您只需等待dialog.ShowAsync()

<callisto:CustomDialog x:FieldModifier="public" x:Name="JustATest" 
    Background="White" BackButtonVisibility="Collapsed" Title="Some title">
    <StackPanel Width="500">
        <TextBlock Margin="0,0,0,8" FontSize="14.6667" FontWeight="SemiLight" TextWrapping="Wrap">
            <Run x:Name="txt1" Text="Some random sample text.."/>
        </TextBlock>
        <CheckBox Margin="0,20,0,8" Content="Some checkbox" />

        <StackPanel Margin="0,20,0,0" HorizontalAlignment="Right" Orientation="Horizontal">
            <Button Content="button 1" Width="80" Margin="0,0,20,0" />
            <Button Content="button 2" Width="80" />
        </StackPanel>
    </StackPanel>
</callisto:CustomDialog>

1)-异步UI库

2)
使用WinRTXamlToolkit.AwaitableUI

3)
公共异步任务ShowDialogAsync(..){
.......
this.Dialog.IsOpen=true;
//将按钮添加到等待中
var按钮=新列表();
按钮。添加(btnOK);
按钮。添加(btnCancel);
//等待结果
var clickedButton=等待按钮。WaitForClickAsync();
//关闭弹出窗口
this.Dialog.IsOpen=false;
.......
//返回结果
返回clickedButton.Name.Contains(“btnOK”);
}


4)
var result=wait ShowDialogAsync()

您可以发布您的foreach零件代码吗?