C# 从画布内的其他UserControl将焦点设置为TextBox?
我在窗口中使用画布,使其像MDI应用程序一样 画布将包含多个作为子窗口的UserControl 我能够在某个文本框的GotFocus事件上在画布内打开一个新的UserControl 但是,当我单击Enter或关闭新窗口时,我想将焦点设置回旧UserControl的下一个文本框?这是我无法做到的C# 从画布内的其他UserControl将焦点设置为TextBox?,c#,.net,wpf,c#-4.0,caliburn.micro,C#,.net,Wpf,C# 4.0,Caliburn.micro,我在窗口中使用画布,使其像MDI应用程序一样 画布将包含多个作为子窗口的UserControl 我能够在某个文本框的GotFocus事件上在画布内打开一个新的UserControl 但是,当我单击Enter或关闭新窗口时,我想将焦点设置回旧UserControl的下一个文本框?这是我无法做到的 我正在使用Caliburn Micro的WPF?目前正在使用EventAggregator在TextBox的GotFocus事件上打开新的UserControl。我最近做了类似的事情,我唯一能想到的是使用
我正在使用Caliburn Micro的WPF?目前正在使用EventAggregator在TextBox的GotFocus事件上打开新的UserControl。我最近做了类似的事情,我唯一能想到的是使用
IEventAggregator
发布UserControl已关闭的通知,即
public class ControlClosedEvent
{
public ControlClosedEvent()
{
// can be an empty event for all intents and purposes
}
}
每当UserControl关闭时,发布事件:
_events.Publish( new ControlClosedEvent() );
消费者:
public partial class SomeView : UserControl, IHandle<ControlClosedEvent>
{
public void Handle( ControlClosedEvent message )
{
// ugly way of setting the text box as focused
SomeTextBox.Focus();
}
}
public部分类SomeView:UserControl,IHandle
{
公共无效句柄(ControlClosedEvent消息)
{
//将文本框设置为焦点的丑陋方式
SomeTextBox.Focus();
}
}
这是我到目前为止尝试过的……但是有一个问题,就是设置focusFocusManager不工作,因为我的窗口在画布中,是否可以为此创建一个行为