0

我有一个具有这种布局的 WPF 表单:

<Grid>
    <DataGrid>
    ...
    </DataGrid>
    <Canvas>
    ...contains lines created at runtime...
    </Canvas>
</Grid>

您可以看到我有一个 DataGrid,我将文件加载到其中。Datagrid 的一些单元格通过线条连接起来。这些线条被放置到画布中。这一切都很好。

但现在我有一个大问题。我可以禁用所有行而不是通过 z-index 遍历我的整个表单。当我向下滚动时,它们所在的唯一区域是 DataGridColumnHeader。

你知道我可以做什么,这些行的 z-index 比我的 DataGridColumnHeader 低,但与我的 DataGridCells 更大或相同吗?

4

1 回答 1

0

您无法通过设置ZIndex来解决此问题,因为此索引仅控制一个面板内元素的 z 顺序。

但是,您可以设置 Canvas 的边距,使其不覆盖 DataGridColumnHeader,然后将其ClipToBounds属性设置为 true。

<Grid> 
    <DataGrid Name="dataGrid"> 
    ... 
    </DataGrid> 
    <Canvas ClipToBounds="True"> 
        <Canvas.Margin>
            <Thickness Top="{Binding ColumnHeaderHeight, ElementName=dataGrid}"/>
        </Canvas.Margin>
    ...contains lines created at runtime... 
    </Canvas> 
</Grid> 

我还没有测试过上面的 XAML,但它应该可以工作。

于 2012-07-12T08:53:29.427 回答