1

我目前正在为 Windows Embedded Handheld 8.1 开发一个应用程序,并且遇到了一个问题,即我在 gridview 中有一个动态扩展的网格。我的问题是,由于这个应用程序在手持设备上运行,我在每一行上使用的空间非常有限。

我想做的是只显示每一行的一般信息,然后当在设备中点击或选择一行时,我想以某种方式扩展该特定行并显示一些更详细的信息,但这似乎是有问题的因为一旦我开始弄乱特定的行高,ItemTemplate 中的每隔一行自然也会增长,从而在网格中留下很多空白。

通常我会使用 DataGrid 和 DataGrid.RowDetailsTemplate,但该控件似乎没有在 WEH8.1 中实现。

所以我的问题是,如果有人对我的问题有解决方案或可能的解决方法?

GridView 上的代码示例如下:

    <ScrollViewer Grid.Row="1" Margin="0">

        <GridView x:Name="gvCustomerOrderRows">
            <GridView.ItemTemplate>
                <DataTemplate>
                    <Grid Background="{Binding BackgroundColor}" Margin="0" Height="{Binding ShowSecondRowHeight}"  Tapped="Grid_Tapped"  Tag="{Binding kor_row}">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="50"/>
                            <RowDefinition Height="20"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="20"/>
                            <ColumnDefinition Width="31.25"/>
                            <ColumnDefinition Width="58.75"/>
                            <ColumnDefinition Width="105"/>
                            <ColumnDefinition Width="65"/>
                            <ColumnDefinition Width="50"/>
                            <ColumnDefinition Width="70"/>
                        </Grid.ColumnDefinitions>

                        <TextBlock Text="{Binding kor_pos}" Grid.Row="0" Visibility="{Binding VisibilityHideThenText}" Grid.Column="0" FontSize="14" VerticalAlignment="Center" Margin="0,17,0,16"></TextBlock>
                        <TextBlock Text="{Binding kor_partno}" Grid.Row="0" Visibility="{Binding VisibilityHideThenText}" Grid.Column="1" FontSize="14" VerticalAlignment="Center" Margin="0,17,0,16"  Grid.ColumnSpan="2" ></TextBlock>
                        <TextBlock Text="{Binding kor_txt}" Grid.Row="0" Grid.Column="3" Grid.ColumnSpan="2" FontSize="14" VerticalAlignment="Center" MaxLines="2" TextWrapping="Wrap"/>
                        <TextBlock Text="{Binding kor_rqty}" Grid.Row="0" Visibility="{Binding VisibilityHideThenText}" Grid.Column="5" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" TextAlignment="Center"></TextBlock>
                        <TextBox x:Name="txtQuantity" Grid.Row="0" Text="{Binding rep_qty, Mode=TwoWay}" Visibility="{Binding VisibilityHideThenText}" Background="{Binding DeliverColor, Mode=TwoWay}" BorderBrush="{Binding DeliverColor, Mode=TwoWay}" InputScope="Number" TextAlignment="Right"  Grid.Column="6" GotFocus="txtQuantity_GotFocus" Margin="6,10,-1,0" Height="39"/>
                        <TextBlock Text="{Binding kor_ldat}" Grid.Row="1" Visibility="{Binding VisibilityHideThenText}" Grid.Column="1" Grid.ColumnSpan="2" FontSize="14" VerticalAlignment="Top" HorizontalAlignment="Left" TextAlignment="Left"></TextBlock>
                        <TextBlock Text="Stock Loc.:  " Grid.Row="1" Grid.Column="3" TextAlignment="Right" VerticalAlignment="Top" FontSize="14" Visibility="{Binding VisibilityHideThenText}"></TextBlock>
                        <TextBlock Grid.Row="1" Visibility="{Binding VisibilityHideThenText}" Tag="{Binding kor_row}" Grid.Column="4" Grid.ColumnSpan="2" VerticalAlignment="Top" FontWeight="Bold" FontSize="14" Tapped="TextBlock_Tapped" Margin="10,0,0,0"><Underline><Run Text="{Binding SelectedLocation, Mode=TwoWay}"/> </Underline></TextBlock>
                        <TextBlock Text="{Binding LocQuantity}" Grid.Row="1" Grid.Column="5" VerticalAlignment="Top" Visibility="{Binding VisibilityHideThenText}" FontSize="14"  TextAlignment="Center"/>

                    </Grid>

                </DataTemplate>

            </GridView.ItemTemplate>
        </GridView>
    </ScrollViewer>
4

0 回答 0