繁体   English   中英

从画布中的其他UserControl将焦点设置到TextBox?

[英]Setting Focus to TextBox from Other UserControl inside a Canvas?

我在窗口内使用画布,使其像MDI应用程序一样。

画布将包含多个作为子窗口的UserControl。

我可以在某些文本框的GotFocus事件上的Canvas中打开一个新的UserControl。

但是,当我单击Enter或关闭新窗口时,是否要将焦点设置回旧的UserControl的下一个TextBox? 我无法实现。

我在Caliburn Micro上使用WPF吗? 当前使用EventAggreagator在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();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM