有人知道如何将焦点放在Prism InteractionRequest的“取消”按钮上吗?
目前发生的情况是,如果您按下了主窗口中的按钮并触发了InteractionRequestTrigger,如果再次按Enter键,则会因为焦点停留在父窗口并且InteractionRequestTrigger触发而出现问题第二次......
感谢您的帮助
答案 0 :(得分:0)
在触发 InteractionRequestTrigger 后,应自动设置焦点确认对话框。
您可能会发现以下基于状态的导航棱镜快速入门:
通过设置正确的 ViewModel,在QuickStart中调用Raise()
方法,以便在 ChatViewModel的 SendMessage()
方法中显示 InteractionRequest的对话框 context 及其回调:
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>
我希望这会有所帮助。
答案 1 :(得分:0)
啊!我应该把我的Popup标记为可聚焦!