我有一个WPF应用程序,我想在按钮点击时重置一个窗口。但只是一个特定的窗口,而不是我的所有应用程序。
我有3个窗口:main,second和third。
Main打开第二个,第二个打开第三个。
当我使用执行this.Close()
的按钮关闭第三个时,我也想重新启动第二个窗口。
有办法做到这一点吗?
答案 0 :(得分:0)
如果您的项目或代码基于MVVM,则Command应将您想要在Visual Tree中操作的特定Dependency对象作为参数引用。
答案 1 :(得分:0)
使用MVVM Light等MVVM框架并在窗口之间使用消息传递的最佳方法。
例如: 创建特定消息
public class RefreshWindowMessage
{
public Guid Identity { get; set; }
}
关闭第三个
时发送消息Messenger.Default.Send(new RefreshWindowMessage("<some guid of window>"));
在主窗口中注册消息
Messenger.Default.Register<RefreshWindowMessage>
(
this,
( action ) => ReceiveMessage( action )
);
并重新启动第二个窗口。