zai_lu_shang__
是遭罪
2019-08-28 15:02
采纳率: 50%
浏览 330

c#WPF,从B页返回到A页,再从A页进入B页时重新加载B页

有一个welcomewindow(简称wel),一个homewindow(简称home),
在wel中选不同的项目,home加载不同的项目,
在home中加了一个返回wel的按钮,是让home Hide()了,再new一个wel,让wel Show(),然后选不同的项目再进home
但是新开的home没有根据我在wel中选的项目重新加载内容,为啥?
搜了一下好像WPF没有刷新页面的方法,又说show是自带重新加载的,但是我这确实没重新加载

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • iFrameCooperation
    皮皮熊_1989 2019-08-28 16:45
    已采纳

    如果猜的没错,你是想实现类似login验证后到home,然后home退出登录/重新登录页面回到login这种效果吧
    show只是控制隐藏与否,并不会重新加载。
    这里提两种方式:
    1. 每次切换,手动写代码调用一次初始化函数(根据项目需求自己去定)
    2. 不要用Show和Hide控制,用新的实例替换;
    已经有好几年没玩wpf了,有错误之处还望指正。

    点赞 评论
  • z467057213c
    z467057213c 2019-08-30 16:58

    按照你的说法, 你在返回wel的时候,你是让home进行了Hide()隐藏操作,也就是home的对象是没有进行销毁的,当你在wel钟选择项目的时候,
    你应该调用了home的Show(),让home重新显示出来,这样,肯定显示原来的东西,你可以在Show()之前线吧需要新显示的项目线准备好,传给home初始化数据,然后再show

    点赞 评论

相关推荐