2
A
回答
0
確定頁面上的默認網格是2行。讓3 ..設置爲自動高度..中間設置爲*頂部和底部行
5
當然,這裏是代碼和佈局
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
<TextBlock Text="I AM HEADER" Grid.Row="0" FontSize="56"/>
<StackPanel Grid.Row="1" >
<TextBlock Text="Main content goes here. Main content goes here. " TextWrapping="Wrap" FontSize="56"/>
</StackPanel>
<TextBlock Text="I AM FOOTER" Grid.Row="2" FontSize="56"/>
</Grid>
1
如果你想要的東西,你可以反覆使用,我會建議創建一個自定義控件。這個控件可以很容易地被你的任何頁面使用。
自定義控件:
public class HeaderFooterControl : ContentControl
{
public object Header
{
get { return (object)GetValue(HeaderProperty); }
set { SetValue(HeaderProperty, value); }
}
// Using a DependencyProperty as the backing store for Header. This enables animation, styling, binding, etc...
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.Register("Header", typeof(object), typeof(HeaderFooterControl), new PropertyMetadata(null));
public object Footer
{
get { return (object)GetValue(FooterProperty); }
set { SetValue(FooterProperty, value); }
}
// Using a DependencyProperty as the backing store for Header. This enables animation, styling, binding, etc...
public static readonly DependencyProperty FooterProperty =
DependencyProperty.Register("Footer", typeof(object), typeof(HeaderFooterControl), new PropertyMetadata(null));
// TODO: Templates for Header and Footer
}
的XAML自定義控件:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:MyLocalNamespace">
<Style TargetType="controls:HeaderFooterControl">
<Setter Property="Header" Value="Header info"/>
<Setter Property="Footer" Value="Footer info"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:HeaderFooterControl">
<Grid Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ContentPresenter Content="{TemplateBinding Header}"/>
<ContentPresenter Content="{TemplateBinding Content}" Grid.Row="1"/>
<ContentPresenter Content="{TemplateBinding Footer}" Grid.Row="2"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
你會然後使用控制,如果你頁面像這樣:
<phone:PhoneApplicationPage
xmlns:controls="clr-namespace:MyLocalNamespace"
<!-- Other parts of the page to declare (eg: FontSize, Foreground, etc)
<controls:HeaderFooterControl Header="Hello Header!" Footer="Bottom of page!">
<!-- Other content for your page here! -->
</controls:HeaderFootControl>
您可以添加到這個解決方案還有一個可以設置的HeaderTemplate和FooterTemplate。您可以瞭解更多關於Custom Controls here的信息。
相關問題
- 1. ReportViewer - 修復頁面頁眉和頁腳
- 2. 提取頁面的頁眉和頁腳
- 3. 修復頁腳在頁面
- 4. 爲我的角頁面創建複雜的頁眉和頁腳
- 5. 跨頁面重複使用頁眉和頁腳
- 6. ABCpdf複製頁眉和頁腳
- 7. 複製html頁眉和頁腳
- 8. 避免重複頁眉和頁腳
- 9. 沒有頁眉/頁腳的CakePHP頁面
- 10. 設置頁眉和頁腳在每一頁上重複
- 11. 頁面上的頁眉。 (wordpress)
- 12. 如何抑制頁眉和頁面的頁面頁眉?
- 13. 笨如何加載與修復頁眉和頁腳
- 14. 頁眉和頁腳徽標
- 15. 粘性頁眉和頁腳
- 16. 頁眉和頁腳在
- 17. pdfkit頁眉和頁腳
- 18. 頁眉和頁腳衝突
- 19. 通用頁眉和頁腳
- 20. PHP頁眉和頁腳
- 21. 頁眉和頁腳XSL FO
- 22. NSCollectionView與頁眉和頁腳
- 23. ReactJS頁眉和頁腳
- 24. 固定頁眉和頁腳
- 25. listview與頁眉和頁腳
- 26. iText 5頁眉和頁腳
- 27. FPDF頁眉和頁腳
- 28. 頁眉和頁腳佈局
- 29. TraceListener頁眉和頁腳
- 30. 剝離頁眉和頁腳