2
<navigation:Page 
    d:DesignHeight="768" d:DesignWidth="1366">
    <UserControl.Resources>
        <sdk:HierarchicalDataTemplate x:Key="Level3">
            <StackPanel Orientation="Horizontal">
                <ContentPresenter Margin="0 0 4 0" Content="{Binding IconUri}"/>
                <HyperlinkButton x:Name="TemplateLinkButton" Content="{Binding MenuCaption}" NavigateUri="{Binding Uri}"/>
            </StackPanel>
        </sdk:HierarchicalDataTemplate>
        <sdk:HierarchicalDataTemplate x:Key="Level2" ItemsSource="{Binding Path=Children}" ItemTemplate="{StaticResource Level3}">
            <StackPanel Orientation="Horizontal">
                <ContentPresenter Margin="0 0 4 0" Content="{Binding IconUri}"/>
                <HyperlinkButton x:Name="TemplateLinkButton" Content="{Binding MenuCaption}"  NavigateUri="{Binding Uri}"/>
            </StackPanel>
        </sdk:HierarchicalDataTemplate>
        <sdk:HierarchicalDataTemplate x:Key="Level1" ItemsSource="{Binding Path=Children}" ItemTemplate="{StaticResource Level2}">
            <StackPanel Orientation="Horizontal">
                <ContentPresenter Margin="0 0 4 0" Content="{Binding IconUri}"/>
                <TextBlock  Text="{Binding Path=MenuCaption}"/>
            </StackPanel>
        </sdk:HierarchicalDataTemplate>
    </UserControl.Resources>
        <Grid x:Name="LayoutRoot"    ShowGridLines="True" Background="Blue">
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <TextBlock  Grid.Row="0"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Text="Header" Name="textBlockHeader"/>
        <Grid  Grid.Row="1"     HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ShowGridLines="True" Background="Pink">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="200"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <ScrollViewer    Height="Auto" Background="CadetBlue">
                <sdk:TreeView Name="menuTree"  ItemTemplate="{StaticResource Level1}"     Background="Fuchsia">
            </sdk:TreeView>
        </ScrollViewer>
        <sdk:Frame  HorizontalAlignment="Stretch" Grid.Column="1" VerticalAlignment="Stretch" Source="" Name="contentFrame">
            <sdk:Frame.UriMapper>
                <sdk:UriMapper>
                    <sdk:UriMapping MappedUri="/VIEW/{page}.xaml" Uri="/{page}" />
                </sdk:UriMapper>
            </sdk:Frame.UriMapper>
        </sdk:Frame>
        </Grid>
    </Grid>
</navigation:Page>

これはデフォルトのレイアウトヘッダーメニューとコンテンツフレームです。scrollviewerがグリッドGrid2の最初の列を埋めるようにします。マージンを試しVerticalAlignment height= "Auto"ましたが、まだうまくいきませんでした。

4

1 に答える 1

1

塗りつぶしと位置合わせに問題がある場合、どのコンテナや子がこれを引き起こしているのかを確認する良い方法は、すべてに異なる背景色を与えることです。そうすれば、グリッドが引き伸ばされているかどうか、子供がどこに成長するかを確認できます...

この質問はすでに解決されていますが、この方法を共有したかったのは、あなたのケースでも何が悪いのかを見つけるのに役立ったからです。

于 2012-08-20T08:28:26.150 に答える