我有两个页面ProductSearch
,ProductDetail
并且我正在将Content
属性更改为在页面之间导航。我想知道是否有任何事件被触发,所以我可以写一些代码吗?
在ProductDetail
页面上我有UIElement
属性
public UIElement MainContent { get; set; }
在ProductSearch
页面上我导航到ProductDetail
通过设置Content
属性,如下所示:
private void OnGetDetailsClick(object sender, RoutedEventArgs e)
{
ProductDetail productDetail = new ProductDetail();
productDetail.MainContent = this.Content;
this.Content = productDetail;
}
在ProductDetail
页面Back
按钮上,我导航回ProductSearch
:
private void OnBackButtonClick(object sender, RoutedEventArgs e)
{
this.Content = MainContent;
}
现在我想知道如何在导航回ProductSearch
页面时调用方法,即如何知道我已从ProductDetail
页面导航?我试图检查它是否加载了页面,但发现当你更改控件的内容时,它不会触发页面的load
事件。任何解决方案?
答案 0 :(得分:0)
是的,这不会执行加载事件,因为你只是明显改变了内容。
如果您想利用导航功能,请查看此视频。即使它完成了混合,这些概念也适用于Visual STudio:https://vimeo.com/6599527(简单的Silverlight主/细节导航应用程序与Blend 3)
您应该查看有关主要详细信息绑定的文章,例如:https://msdn.microsoft.com/en-us/library/cc645060(v=vs.95).aspx
关键是利用Silverlight带来的强大绑定概念。如果您没有使用深层链接,您可能需要考虑使用用户控件来隐藏/显示详细信息而不是额外的页面。
HTH