Xaml 框架中的网格拆分器;超越边界问题

Xaml 框架中的网格拆分器;超越边界问题,xaml,silverlight-4.0,gridsplitter,Xaml,Silverlight 4.0,Gridsplitter,我有一个在Silverlight RIA应用程序中显示数据的通用视图。基本上,视图接受一个参数,该参数是RIA获取数据所需的查询,数据使用自动生成的字段显示 下面是视图的部分XAML代码 <Grid Grid.Column="0"> <Grid.RowDefinitions> <RowDefinition x:Name="DataGridRow"/> <

我有一个在Silverlight RIA应用程序中显示数据的通用视图。基本上,视图接受一个参数,该参数是RIA获取数据所需的查询,数据使用自动生成的字段显示

下面是视图的部分XAML代码

        <Grid Grid.Column="0">
            <Grid.RowDefinitions>
                <RowDefinition x:Name="DataGridRow"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition x:Name="DataFormRow"/>
                <RowDefinition Height="Auto" x:Name="EditRow"/>
            </Grid.RowDefinitions>
            <ria:DomainDataSource Name="SQLDomainDataContext" LoadingData="SQLDomainDataContext_LoadingData" LoadSize="45" SubmittedChanges="SQLDomainDataContext_SubmittedChanges" SubmittingChanges="SQLDomainDataContext_SubmittingChanges" LoadedData="SQLDomainDataContext_LoadedData">
                <ria:DomainDataSource.SortDescriptors>
                    <ria:SortDescriptor Direction="Descending" PropertyPath="BaseProperties.CreatedOn" />
                </ria:DomainDataSource.SortDescriptors>
            </ria:DomainDataSource>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <sdk:DataGrid  Grid.Row="0" AutoGenerateColumns="True" Name="dataGrid" ItemsSource="{Binding}" DataContext="{Binding Path=Data, Mode=TwoWay}" IsReadOnly="True" AutoGeneratingColumn="dataGrid_AutoGeneratingColumn" SelectionChanged="dataGrid_SelectionChanged" />
                <custCont:LocalizedDataPager Grid.Row="1" x:Name="pager" Source="{Binding Path=Data}" PageSize="15" DisplayMode="FirstLastPreviousNext" />
            </Grid>

            <Border Grid.Row="1">
                <Border.Background>
                    <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                        <GradientStop Color="#FF9D9D9D" Offset="0" />
                        <GradientStop Color="#FFDBDBDB" Offset="1" />
                    </LinearGradientBrush>
                </Border.Background>
                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                    <Ellipse Fill="Black" HorizontalAlignment="Center" Width="4" Height="4" Margin="8,0"/>
                    <Ellipse Fill="Black" HorizontalAlignment="Center" Width="4" Height="4" Margin="8,0"/>
                    <Ellipse Fill="Black" HorizontalAlignment="Center" Width="4" Height="4" Margin="8,0"/>
                </StackPanel>
            </Border>
            <sdk:GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" Background="Transparent" Opacity="0"/>

            <data:DataForm Grid.Row="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="DF" AutoCommit="False" 
                           DataContext="{Binding Path=Data, Mode=TwoWay}" ItemsSource="{Binding}" 
                           AutoGeneratingField="DF_AutoGeneratingField" EditEnded="DF_EditEnded" DeletingItem="DF_DeletingItem" Style="{StaticResource DataFormStyle}"/>

            <Grid Grid.Row="3">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition />
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0" Name="btnHideDF" Content="{Binding Source={StaticResource ApplicationResources}, Path=ApplicationStrings.ShowEntities_HideDfBtn}" MinWidth="10" Margin="2" Click="btnHideDF_Click" />
                <Button Grid.Column="2" Name="bRefresh" Content="{Binding Source={StaticResource ApplicationResources}, Path=ApplicationStrings.ShowEntities_RefreshBtn}" MinWidth="75" Margin="2" Click="bRefresh_Click" IsEnabled="{Binding Path=CanLoad}" />
                <Button Grid.Column="3" Name="btnCacnelChanges" Content="{Binding Source={StaticResource ApplicationResources}, Path=ApplicationStrings.ShowEntities_CancelChangesBtn}" Margin="2" IsEnabled="{Binding Path=HasChanges}" Click="btnCacnelChanges_Click" Visibility="Collapsed" />
                <Button Grid.Column="4" Name="bSubmit" Content="{Binding Source={StaticResource ApplicationResources}, Path=ApplicationStrings.ShowEntities_SubmitBtn}" MinWidth="75" Margin="2" IsEnabled="{Binding Path=HasChanges}" Click="bSubmit_Click" />
            </Grid>
        </Grid>
当视图显示在单个帧中时,一切正常。但当它显示在一个有两个框架的页面上时,奇怪的事情开始发生。如果用户抓住拆分器并将其一直移动到顶部,超出帧边界,则数据表单将无限扩展。这不是一个大问题,但它看起来很难看,并使底部的按钮从视线中消失


这是怎么回事?为什么会这样?我怎样才能防止这种行为?

显然我的谷歌浏览器很弱

我今天发现了,它描述了与我完全相同的问题,以及可能的解决方案

不过,我没想到这会成为SL中的一个bug