我有一个带有文本框的主窗口,其焦点绑定到属性,这是xmal:
<TextBox Text="{Binding Path=Name, Mode=TwoWay" x:FocusExtension.IsFocused="{Binding TxtFocused, Mode=TwoWay}"/>
在我的主窗口视图模型中,我可以更改布尔属性TxtFocused的值,它将根据文本框的值来设置或不关注文本框。
然后我有一个子窗口,有自己的视图模型,在该视图模型上我可以访问主窗口视图模型。关闭此窗口时,在子窗口视图模型中,我访问主窗口视图模型的属性TxtFocused,并将其设置为true。
我的问题是,即使属性TxtFocused设置为true,在我的主窗口中文本框也没有焦点。
我知道如何解决这个问题,但它非常难看,而且会违反WPF / MVC规则,因为我试图让UI元素远离视图模型。
任何人都知道我做错了什么?
修改
我的子窗口出现在主窗口上,没有改变其可见性,这可能是问题吗?
答案 0 :(得分:0)
使用MainWindow的Activated
事件,并将其设置为true。