0

Prism InteractionRequest の [キャンセル] ボタンにフォーカスを与える方法を知っている人はいますか?

現時点で何が起こっているかというと、メイン ウィンドウのボタンで Enter キーを押して InteractionRequestTrigger が発生した場合、もう一度 Enter キーを押すと、フォーカスが親ウィンドウに留まり、InteractionRequestTrigger が 2 回目の発生するため、問題が発生します。 ...

ご協力いただきありがとうございます

4

2 に答える 2

0

InteractionRequestTriggerを起動した後、確認ダイアログにフォーカスを自動的に設定する必要があります。

次のState-Based Navigation Prism Quickstartが役立つ場合があります。

適切なViewModelコンテキストとそのコールバックを設定することにより、 ChatViewModel のメソッドでInteractionRequest のダイアログを表示Raise()するために、QuickStart でメソッドが呼び出されます。 SendMessage()

public IInteractionRequest SendMessageRequest
{
    get { return this.sendMessageRequest; }
}

public void SendMessage()
{
    var contact = this.CurrentContact;
    this.sendMessageRequest.Raise(
        new SendMessageViewModel(contact, this),
        sendMessage =>
        {
            if (sendMessage.Result.HasValue && sendMessage.Result.Value)
            {
                this.SendingMessage = true;

                this.chatService.SendMessage(
                    contact,
                    sendMessage.Message,
                    result =>
                    {
                        this.SendingMessage = false;
                    });
            }
        });
}

さらに、ChatViewはインタラクション リクエストを検出し、ポップアップ ウィンドウをPopupChildWindowAction表示します。SendMessageChildWindow

<prism:InteractionRequestTrigger SourceObject="{Binding SendMessageRequest}">
    <prism:PopupChildWindowAction>
        <prism:PopupChildWindowAction.ChildWindow>
            <vs:SendMessageChildWindow/>
        </prism:PopupChildWindowAction.ChildWindow>
    </prism:PopupChildWindowAction>
</prism:InteractionRequestTrigger>

これが役立つことを願っています。

于 2013-10-08T18:28:16.190 に答える