-1

メインページにフレームといくつかのボタンを備えたWPFアプリケーションを作成しています。Button1 を押すと、フレームが Page1 に移動し、

Page1 vPage1 = 新しい Page1();
Frame.Content = vPage1;

Button2 を押すと、Page1 が Frame で開いている場合にのみ Page2 に移動する必要があります。Page1 が開いているかどうかを確認するにはどうすればよいですか?

どうも

4

1 に答える 1

0

ここにあなたのためのサンプルがあります。

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>

コード。

 int pageindex;

        private void btnPrev_Click(object sender, RoutedEventArgs e)
        {
            if (pageindex <= 1)
            {
                fram.Navigate(new Uri("Pages/Page" + (pageindex + 2) + ".xaml",UriKind.Relative));
                return;
            }
            fram.Navigate(new Uri("Pages/Page" + (pageindex - 1) + ".xaml", UriKind.Relative));
        }

        private void btnNext_Click(object sender, RoutedEventArgs e)
        {
            if (pageindex >= 3)
            {
                fram.Navigate(new Uri("Pages/Page" + (pageindex - 2) + ".xaml", UriKind.Relative));
                return;
            }
            fram.Navigate(new Uri("Pages/Page" + (pageindex + 1) + ".xaml", UriKind.Relative));
        }

        private void Frame_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
        {
            pageindex = Convert.ToInt32(e.Content.GetType().Name.Substring(4));
        }
于 2012-10-11T15:24:37.503 に答える