在Windows应用程序中重叠视图

时间:2015-02-16 08:38:01

标签: c# windows-phone windows-phone-8.1

我想为我的应用实现以下页面

enter image description here

所以我使用了类似(简化)的东西:

<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <TextBlock>...</TextBlock>
    <ListView>...</ListView>
    <TextBlock>...</TextBlock>
</Grid>

如果发生错误且数据不可用,我希望在页面背景中显示错误,而不会阻止用户交互。类似的东西:

enter image description here

我用stackpanel

实现了错误

如何重叠ListView和stackpanel?将stackpanel保持在listview会议室的中心位置?

我尝试使用Canvas但不知道如何使视图居中

<Grid x:Name="LayoutRoot">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <TextBlock>...</TextBlock>
    <Canvas>
       <StackPanel>..</StackPanel>
       <ListView>...</ListView>
    </Canvas>
    <TextBlock>...</TextBlock>
</Grid>

1 个答案:

答案 0 :(得分:0)

尝试在页面内容上显示弹出窗口(与LayoutRoot在同一容器中)

   <Grid>
      <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
          <RowDefinition Height="Auto"/>
          <RowDefinition Height="*"/>
          <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <TextBlock>...</TextBlock>
        <TextBlock>...</TextBlock>
       </Grid>
       <Grid x:Name="PopUpGrid" Width="200" Height="200" 
             VerticalAllignment="Center" HorizontalAllignment="Center">
       ....
       </Grid>
   </Grid>