如何在Silverlight中更改Frame源

时间:2012-07-19 15:45:45

标签: silverlight silverlight-4.0 navigation frame silverlight-5.0

我有一个像这样定义的xaml文件:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
.....
mc:Ignorable="d"
d:DesignHeight="500" d:DesignWidth="800">

<sdk:Frame x:Name="ContentFrame" Source="/MainPageContent.xaml">

</sdk:Frame>
</UserControl>

页面的全部内容存储在MainPageContent中。我创建了另一个文件,例如PageTwoContent.xaml。我如何将Frame的源更改为新的xaml文件,例如按钮?

1 个答案:

答案 0 :(得分:2)

xaml页面应该包含这个

的内容
<Button>
 ...
 Click="ClickEvent"
</Button>

在代码隐藏方面,您将拥有以下内容:

private void ClickEvent(object sender, EventArgs e)
{
    //do any other event stuff here
    this.ContentFrame.Source = new Uri("/PageTwoContent.xaml", UriKind.Relative);
}

我在使用这个问题时遇到了一些问题,所以有时您也可以在ContentPane上调用Refresh()来强制它刷新帧源的内容。