总是显示在Silverlight页面的顶部

本文关键字:顶部 Silverlight 显示 | 更新日期: 2023-09-27 17:50:17

我正在开发一个Silverlight导航应用程序,它有三个部分:

  • 公司标志与菜单(固定高度)的上方部分
  • 中间部分容纳导航框架(可变高度)
  • 底部部分有一些版权信息和声音开关按钮(固定高度)

中间部分拉伸到需要显示整个内容的程度,但它也将视图设置为页面的中间。我希望总是有页面的顶部(菜单)显示。

我怎样才能做到这一点?

总是显示在Silverlight页面的顶部

是的,你所描述的本质上是一个"Silverlight导航应用程序"。如果您创建了这种类型的项目,模板将为您提供您在开始时描述的大部分内容。

创建了这个新项目,我建议做以下更改。将主页修改如下:-

<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid x:Name="NavigationGrid" Style="{StaticResource NavigationGridStyle}">
         <!-- Cut for brevity -->
    </Grid>
    <Border x:Name="ContentBorder" Style="{StaticResource ContentBorderStyle}" Grid.Row="1">
         <!-- Cut for brevity -->
    </Border>
    <Border x:Name="FooterBorder" Style="{StaticResource FooterBorderStyle}" Grid.Row="2">
        <Grid>
            <TextBlock Text="Copyright info here" />
        </Grid>
    </Border>
</Grid>

修改" navigationridstyle "answers"ContentBorderStyle",并在/Assets/styles中添加"FooterBorderStyle"Xaml像这样:-

  <Style x:Key="ContentBorderStyle" TargetType="Border">
    <Setter Property="Background">
      <Setter.Value>
        <LinearGradientBrush EndPoint="0.5,0.045" StartPoint="0.5,0">
          <GradientStop Color="#6FCCCCCC"/>
          <GradientStop Color="#00CCCCCC" Offset="1"/>
        </LinearGradientBrush>
      </Setter.Value>
    </Setter>
    <Setter Property="BorderBrush" Value="#FFFFFFFF"/>
    <Setter Property="BorderThickness" Value="0,3,0,0"/>
  </Style>
  <Style x:Key="NavigationGridStyle" TargetType="Grid">
    <Setter Property="Background" Value="{StaticResource NavigationBackgroundColorBrush}"/>
  </Style>
  <Style x:Key="FooterBorderStyle" TargetType="Border">
      <!-- Whatever styling if any you want here -->
  </Style>