StackPanel Orientation停止页面加载

时间:2014-10-01 21:42:18

标签: xaml windows-store-apps

首先要解释我在这里做的事情,我想创建一个列出大量分组对象的页面。选择对象会将该信息绑定到左侧的显示中。一切正常,直到我将MainStack Orientation更改为Horizo​​ntal。一旦更改,页面就不再加载。没有错误被抛出。当逐步完成整个过程时,后面的代码将按照应有的步骤进行。 我知道它的XAML,但对原因感到困惑。它在两种情况下工作正常。 如果我删除mainstack堆栈面板,而是使显示组成为GridView的标题,它就可以工作。 如果我将MainStack方向设置为Vertical,则加载正常。

以下是无法加载的代码:

    <StackPanel Name="MainStack" Orientation="Horizontal" Grid.Row="2" >
        <StackPanel Name="Stack" Width="480" >
            <TextBlock Text="{Binding Nname}" Margin="0,0,0,20" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60"/>
            <TextBlock Text="{Binding Nset}" Margin="0,0,0,20" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60"/>
            <Image Source="{Binding url}" Height="Auto" Margin="0,0,102,55" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
            <ScrollViewer Margin="0,0,0,0" MaxHeight="200">
                <TextBlock Text="{Binding Nruling}"  Margin="0,0,0,0" Style="{StaticResource BodyTextBlockStyle}"/>
            </ScrollViewer>
        </StackPanel>
        <SemanticZoom x:Name="semanticZoom" Width="Auto" >
            <SemanticZoom.ZoomedOutView>
                <GridView Foreground="White"
              ScrollViewer.IsHorizontalScrollChainingEnabled="False">
                    <GridView.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Group.Key}" 
               FontFamily="Segoe UI" FontWeight="Light" FontSize="24" />
                        </DataTemplate>
                    </GridView.ItemTemplate>
                    <GridView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <ItemsWrapGrid ItemWidth="100" ItemHeight="100" MaximumRowsOrColumns="4"/>
                        </ItemsPanelTemplate>
                    </GridView.ItemsPanel>
                    <GridView.ItemContainerStyle>
                        <Style TargetType="GridViewItem">
                            <Setter Property="Margin" Value="4" />
                            <Setter Property="Padding" Value="10" />
                            <Setter Property="Background" Value="#FF25A1DB" />
                            <Setter Property="BorderThickness" Value="1" />
                            <Setter Property="HorizontalContentAlignment" Value="Left" />
                            <Setter Property="VerticalContentAlignment" Value="Bottom" />
                        </Style>
                    </GridView.ItemContainerStyle>
                </GridView>
            </SemanticZoom.ZoomedOutView>
            <SemanticZoom.ZoomedInView>

                <GridView
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Items In Group"
        TabIndex="1"
        Padding="120,126,120,50"
        ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
        SelectionMode="Single"     
         ScrollViewer.IsHorizontalScrollChainingEnabled="False" SelectionChanged="itemGridView_SelectionChanged">
                    <GridView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <ItemsWrapGrid MaximumRowsOrColumns="8" GroupHeaderPlacement="Top"  />
                        </ItemsPanelTemplate>
                    </GridView.ItemsPanel>
                    <GridView.ItemTemplate>
                        <DataTemplate>
                            <Grid Height="110" Width="480" Margin="10">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="Auto"/>
                                    <ColumnDefinition Width="*"/>
                                </Grid.ColumnDefinitions>
                                <Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
                                    <Image Source="{Binding url}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Nname}"/>
                                </Border>
                                <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
                                    <TextBlock Text="{Binding Nname}" Style="{StaticResource TitleTextBlockStyle}" TextWrapping="NoWrap"/>
                                    <TextBlock Text="{Binding Nset}" Style="{StaticResource CaptionTextBlockStyle}" TextWrapping="NoWrap"/>
                                    <TextBlock Text="{Binding Nruling}" Style="{StaticResource BodyTextBlockStyle}" MaxHeight="60"/>
                                </StackPanel>
                            </Grid>
                        </DataTemplate>
                    </GridView.ItemTemplate>


                    <GridView.ItemContainerStyle>
                        <Style TargetType="FrameworkElement">
                            <Setter Property="Margin" Value="52,0,0,2"/>
                        </Style>
                    </GridView.ItemContainerStyle>
                    <GridView.GroupStyle>
                        <GroupStyle>
                            <GroupStyle.HeaderTemplate>
                                <DataTemplate>
                                    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Margin="10">
                                        <TextBlock Text='{Binding Key}' Foreground="{StaticResource ApplicationForegroundThemeBrush}" FontSize="25" Margin="5" />
                                    </Grid>
                                </DataTemplate>
                            </GroupStyle.HeaderTemplate>
                        </GroupStyle>
                    </GridView.GroupStyle>
                </GridView>
            </SemanticZoom.ZoomedInView>

        </SemanticZoom>
        <!-- Horizontal scrolling grid -->

    </StackPanel>

0 个答案:

没有答案