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 回答