如何在不重新初始化当前帧内容的情况下将一帧的内容加载到另一帧
Posted
技术标签:
【中文标题】如何在不重新初始化当前帧内容的情况下将一帧的内容加载到另一帧【英文标题】:How to load content of one frame into another frame without reintializing current frame content 【发布时间】:2016-08-18 17:20:09 【问题描述】:在我的 UWP 中,我试图用另一个框架内容设置 Frame 的内容,但我的解决方案都不起作用,实际上我正在做的是从一个页面我将 Frame 作为导航参数传递,而在第二页我有另一个frame 我需要用导航参数中的框架设置哪些内容。
以下是我尝试过的解决方案:
方法一:
var frame = e.Parameter as Frame;
if (frame != null)
var contentPage = frame.SourcePageType;
if (contentPage != null)
ContentFrame.Content = contentPage;
方法二:
var frame = e.Parameter as Frame;
if (frame != null)
var contentPage = frame.SourcePageType;
if (contentPage != null)
ContentFrame.Navigate(contentPage);
方法 1 根本不起作用,而方法 2 正在重新启动我不想这样做的框架内容。
有没有其他方法可以将一帧的内容设置为另一帧。
【问题讨论】:
【参考方案1】:您的问题缺少太多细节,但您似乎没有明确区分视图、数据和逻辑。你有没有看过 MVVM (see this article)。通过使用这样的结构,再次重建 UI 并不是一件坏事,因为数据仍然在一个地方。
如果这是您问题的答案,请将其标记为答案。
【讨论】:
基本上我只是想让一个框架的内容与另一个框架的内容一起设置,你说得对,重建 UI 没有太大影响,但想知道我们是否可以直接设置另一个框架内容无需重绘。 为什么 Frame1.Content = Frame2.Content 没有将 frame2 的内容设置为 frame1?以上是关于如何在不重新初始化当前帧内容的情况下将一帧的内容加载到另一帧的主要内容,如果未能解决你的问题,请参考以下文章
如何将声学的spectrogram(声谱图)重新反变换成时域语音信号