0

Page.Frame.Navigate を呼び出すと、画面サイズよりも小さいページに移動して、移動したばかりのページに簡単な方法で重ねることができますか? 理想的なソリューションは、大規模なフレームワークを必要とせず、アプリケーションの大部分を書き直す必要がありません。この効果を探しています: Windows 8 Music App

ナビゲートされているページのスナップショットを新しいページに渡し、これを背景として使用することでハックできると思いますが、よりクリーンなソリューションをお勧めします。新しいページからナビゲーション スタックにアクセスして、古いページをレンダリングすることもできると思います。

4

1 に答える 1

1

William Melani が述べたように、Popup 要素を使用できます。次に例を示します。

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
  <Grid.RowDefinitions>
      <RowDefinition Height="1*"></RowDefinition>
      <RowDefinition Height="2*"></RowDefinition>
  </Grid.RowDefinitions>
  <Button x:Name="btnPopup" Content="Open Popup" Click="btnPopup_Click_1" Grid.Row="0"></Button>
  <Popup IsLightDismissEnabled="True" x:Name="popup1" Grid.Row="1" HorizontalAlignment="Center">
      <StackPanel Background="Black">
          <Border Background="Blue"  BorderThickness="2">
              <StackPanel>
                  <StackPanel Orientation="Vertical" Margin="10">
                      <TextBlock Text="User:" VerticalAlignment="Center" Margin="0,0,10,0" FontSize="20" />
                      <TextBox Height="40" Width="250" FontSize="20" />
                      <TextBlock Text="Mail:" VerticalAlignment="Center" Margin="0,0,10,0" FontSize="20" />
                      <TextBox Height="40" Width="250" FontSize="20" />
                  </StackPanel>
                  <Button HorizontalAlignment="Right"  Margin="10">Accept</Button>
              </StackPanel>
          </Border>
      </StackPanel>
  </Popup>

そしてボタンイベント:

private void btnPopup_Click_1(object sender, RoutedEventArgs e)
 {
     popup1.IsOpen = true;
 }

デザインは私のものではありません。

于 2012-11-29T22:35:24.670 に答える