WPF获取当前帧

WPF获取当前帧,wpf,frame,Wpf,Frame,我正在制作一个WPF应用程序,在主页上有一个框架和一些按钮。 如果我按下按钮1,我的框架将导航到第1页 </Grid.RowDefinitions> <Frame x:Name="fram" NavigationUIVisibility="Hidden" Background="Silver" Navigated="Frame_Navigated" Source="Pages/Page1.xaml

我正在制作一个WPF应用程序,在主页上有一个框架和一些按钮。 如果我按下按钮1,我的框架将导航到第1页

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>
Page1 vPage1=新的Page1()
Frame.Content=vPage1

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>
如果我按下按钮2,它应该只导航到第2页,如果第1页在框架中打开。 如何检查第1页是否打开

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>

Thx

这是给你的样品

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>
XAML

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>

代码

    </Grid.RowDefinitions>
    <Frame x:Name="fram" NavigationUIVisibility="Hidden"
           Background="Silver"
           Navigated="Frame_Navigated"
           Source="Pages/Page1.xaml" />
    <StackPanel Grid.Row="1"
                HorizontalAlignment="Right"
                Orientation="Horizontal">
        <Button x:Name="btnPrev"
                Click="btnPrev_Click"
                Content="Prev" />
        <Button x:Name="btnNext"
                Click="btnNext_Click"
                Content="Next" />
    </StackPanel>
</Grid>
intpageindex;
私有无效btnPrev_单击(对象发送方,路由目标)
{
如果(页面索引=3)
{
导航(新Uri(“页面/页面”+(pageindex-2)+“.xaml”,UriKind.Relative));
返回;
}
导航(新Uri(“页面/页面”+(页面索引+1)+“.xaml”,UriKind.Relative));
}
已导航私有无效帧(对象发送方,System.Windows.Navigation.NavigationEventArgs e)
{
pageindex=Convert.ToInt32(e.Content.GetType().Name.Substring(4));
}

为什么不能使用布尔变量?为什么不使用接口并提供下一页和上一页。甚至你也可以在导航事件上玩游戏和存储变量。这比我的问题要复杂一点,。我只是试着简单地问一下,只是找到了一种方法(可能不是正确的方法,但它是有效的):String vTest=Frame.Content.ToString();如果(vTest==”。第1页)