【发布时间】:2016-10-16 10:11:41
【问题描述】:
我有一个带有文本框的主窗口,其中焦点绑定到一个属性,这是 xmal:
<TextBox Text="{Binding Path=Name, Mode=TwoWay" x:FocusExtension.IsFocused="{Binding TxtFocused, Mode=TwoWay}"/>
在我的主窗口视图模型中,我可以更改布尔属性 TxtFocused 的值,它会根据其值将文本框置于焦点或不焦点。
然后我有一个子窗口,它有自己的视图模型,在那个视图模型上我可以访问主窗口视图模型。当关闭这个窗口时,在子窗口视图模型中,我访问了主窗口视图模型的属性TxtFocused,并将其设置为true。
我的问题是,即使属性 TxtFocused 设置为 true,在我的主窗口中,文本框也没有焦点。
我知道如何解决这个问题,但它非常难看,而且会违反 WPF/MVC 规则,因为我试图让 UI 元素远离视图模型。
有人知道我做错了什么吗?
编辑:
我的子窗口出现在主窗口上方,但不改变其可见性,这可能是问题吗?
【问题讨论】: