如何在Silverlight中更改帧源

如何在Silverlight中更改帧源,silverlight,silverlight-4.0,navigation,frame,silverlight-5.0,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:F

我有一个定义如下的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。如何将帧源更改为新的xaml文件(例如通过按钮)?

xaml页面应具有与此类似的内容

<Button>
 ...
 Click="ClickEvent"
</Button>
我在这方面遇到了一些问题,因此有时您也可以在之后调用ContentPane上的Refresh(),以强制它刷新来自框架源的内容

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