使用Silverlight Navigator ...问题

时间:2011-03-25 23:13:45

标签: silverlight

我定义了2个页面(定义为导航:页面) 我将这两个页面放在主窗口上(主窗口是UserControl)

  <Grid x:Name="LayoutRoot" Background="White">

    <navigation:Frame 
        Source="/Views/Page1.xaml" 
        x:Name="Page1">
    </navigation:Frame>

    <navigation:Frame 
        Source="/Views/Page2.xaml" 
        x:Name="Page2">                
    </navigation:Frame>

</Grid>

现在,当我加载silverlight应用程序时 - 我看到page1已启动。 但是..我怎么能切换到page2?并回到第1页?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

首先,在您的示例中,Page2将显示在Page1上,因为它在网格上。

其次,导航框架不应该像这样使用。导航框架与浏览器URL匹配,您可以使用带有silverlight的浏览器后退按钮进行导航。

如果您的应用中有2个导航框,那么这就搞砸了。

我认为您应该只有1个导航框架可以从Page1和Page2切换。

答案 1 :(得分:0)

您可能看不到第2页,因为第1页占用了所有网格行。将每一帧粘贴在自己的行中。以下是1页上的两个帧的示例。 https://bitbucket.org/dbeattie/navdemo/src

<Grid>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="1*" />
            <RowDefinition Height="1*" />
            <RowDefinition Height="1*" />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0"
                    Orientation="Vertical">
            <TextBlock Text="MainView" />
            <Button Content="Load Area1 with Sub3View"
                    Command="{Binding Path=Load1Command}" />
            <Button Content="Load Area1 with Sub1View"
                    Command="{Binding Path=Load2Command}" />
            <TextBox Text="{Binding Path=DataToPass, Mode=TwoWay}"></TextBox>
        </StackPanel>
        <Grid Grid.Row="1">
            <Grid.RowDefinitions>
                <RowDefinition Height=".5*" />
                <RowDefinition Height="2*" />
            </Grid.RowDefinitions>
            <TextBlock Text="Area1" />
            <nav:Frame Grid.Row="1"
                       Source="{Binding Path=FrameSource}" />
        </Grid>
        <Grid Grid.Row="2">
            <Grid.RowDefinitions>
                <RowDefinition Height=".5*" />
                <RowDefinition Height="2*" />
            </Grid.RowDefinitions>
            <TextBlock Text="Area2" />
            <nav:Frame Grid.Row="1"
                       JournalOwnership="OwnsJournal"
                       Source="{Binding Path=FrameSource2}" />
        </Grid>
    </Grid>
</Grid>