属性更新UI控件

本文关键字:控件 UI 更新 属性 | 更新日期: 2023-09-27 18:13:19

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

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

在我的主窗口视图模型中,我可以改变布尔属性TxtFocused的值,它将把文本框聚焦与否取决于它的值。

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

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

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

有人知道我做错了什么吗?

编辑:

我的子窗口出现在主窗口上,不改变它的可见性,这是问题吗?

属性更新UI控件

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