首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SelectiveScrollingGrid是否只冻结第一列中的列?

SelectiveScrollingGrid是否只冻结第一列中的列?
EN

Stack Overflow用户
提问于 2013-06-26 17:45:08
回答 1查看 3.1K关注 0票数 3

我需要在滚动时冻结网格中的右栏。在其他地方,我使用SelectiveScrollingGrid冻结左边的列还不错,但是当冻结的列在右边时,它就不再起作用了。

下面是一些XAML:

代码语言:javascript
复制
<!-- Right aligned frozen column results in clipping when scrollbar appears -->
<SelectiveScrollingGrid>
    <SelectiveScrollingGrid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </SelectiveScrollingGrid.ColumnDefinitions>

    <DataGridCellsPresenter Grid.Column="0" ItemsPanel="{TemplateBinding ItemsPanel}" />
    <DataGridRowHeader Grid.Column="1" 
         SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
</SelectiveScrollingGrid>

上述方法不起作用(当您调整包含网格的窗口的大小时,当滚动条出现时,DataGridRowHeader区域将被裁剪)。

但是,下面的XAML可以很好地工作:

代码语言:javascript
复制
<!-- Left aligned frozen column works! -->
<SelectiveScrollingGrid>
    <SelectiveScrollingGrid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
      <ColumnDefinition Width="*"/>
    </SelectiveScrollingGrid.ColumnDefinitions>

    <DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" />
    <DataGridRowHeader Grid.Column="0" 
         SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical">
</SelectiveScrollingGrid>

SelectiveScrollingGrid可以与右侧的冻结列一起使用吗?如果没有,还有其他解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-30 12:47:21

你可以冻结任何你喜欢的列,其他列会在冻结的列下面滚动通过/浮动,在下面的代码片段中,第一列中的文本块只允许垂直滚动(水平滚动对这个文本块没有影响)

代码语言:javascript
复制
<SelectiveScrollingGrid>
                            <SelectiveScrollingGrid.ColumnDefinitions>
                                <ColumnDefinition Width="{Binding ElementName=XX,Path=ActualWidth}" ></ColumnDefinition>
                                <ColumnDefinition Width="{Binding ElementName=LastName,Path=ActualWidth}"></ColumnDefinition>
                                <ColumnDefinition Width="{Binding ElementName=Address,Path=ActualWidth}"></ColumnDefinition>
                            </SelectiveScrollingGrid.ColumnDefinitions>
                            <TextBlock Text="1111111111111" Grid.Column="0" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" ></TextBlock>

                            <TextBlock Text="2" Grid.Column="1"></TextBlock>
                            <TextBlock Text="3" Grid.Column="2"></TextBlock>

                        </SelectiveScrollingGrid>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17316700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档