属性更新UI控件

时间:2016-10-16 10:11:41

标签: c# wpf focus

我有一个带有文本框的主窗口,其焦点绑定到属性,这是xmal:

<TextBox Text="{Binding Path=Name, Mode=TwoWay" x:FocusExtension.IsFocused="{Binding TxtFocused, Mode=TwoWay}"/>

在我的主窗口视图模型中,我可以更改布尔属性TxtFocused的值,它将根据文本框的值来设置或不关注文本框。

然后我有一个子窗口,有自己的视图模型,在该视图模型上我可以访问主窗口视图模型。关闭此窗口时,在子窗口视图模型中,我访问主窗口视图模型的属性TxtFocused,并将其设置为true。

我的问题是,即使属性TxtFocused设置为true,在我的主窗口中文本框也没有焦点。

我知道如何解决这个问题,但它非常难看,而且会违反WPF / MVC规则,因为我试图让UI元素远离视图模型。

任何人都知道我做错了什么?

修改

我的子窗口出现在主窗口上,没有改变其可见性,这可能是问题吗?

1 个答案:

答案 0 :(得分:0)

使用MainWindow的Activated事件,并将其设置为true。