0

这是我到目前为止所拥有的:

Private Async Sub cmdAppBarLogout_Click(sender As Object, e As RoutedEventArgs) Handles cmdAppBarLogout.Click
Dim message As New MessageDialog("Are you sure you want to logout?", "Logout confirmation")    

        message.Commands.Add(New UICommand("Yes"))

        message.Commands.Add(New UICommand("No"))    

        Await message.ShowAsync
End Sub


Private Sub Logout()
        session.StaffInfo = Nothing
        Frame.Navigate(GetType(Login))
End Sub

当用户单击“是”按钮时,我希望调用 Logout Sub,尽管我不确定如何执行此操作。我发现了许多与 C# 和 C++ 相关的示例,尽管似乎不存在 VB 示例。请帮忙。

我知道“message.Commands.Add(New UICommand(”)函数有额外的参数,但我不确定如何正确使用它们。

4

2 回答 2

0

用这个更新你的代码。

message.Commands.Add(New UICommand("Yes", AddressOf Logout))

查看MSDN 示例

于 2013-09-03T15:54:10.600 回答
0

UICommand 有多个构造函数,可以指定调用命令时的回调处理程序。您提供的代码未使用指定此类处理程序的构造函数。

我在下面包含的代码显示了如何在 UICommand 中指定回调处理程序。每个命令可以有自己的方法,共享相同的方法,或者根本没有方法。

...
    message.Commands.Add(New UICommand("Yes", AddressOf Me.CommandInvokedHandler))
    message.Commands.Add(New UICommand("No"))
...

Private Sub CommandInvokedHandler(command As IUICommand)
    ' Run the appropriate code based on the callback here.
    ' If this handler is shared between multiple commands, use command.Label
    ' or command.Id to determine which command is being invoked.
    Logout
End Sub
于 2013-09-03T16:06:32.240 回答