网格内部的WPF边框列跨度导致UI冻结,为什么?

网格内部的WPF边框列跨度导致UI冻结,为什么?,wpf,xaml,datagrid,wpf-controls,Wpf,Xaml,Datagrid,Wpf Controls,由于边界跨越两列,我遇到了数据绑定速度慢的问题,我不知道为什么。如果我将边框更改为仅驻留在第一列中,那么datagrid数据绑定几乎是即时的。请看下面我的代码 这与网格中的第二列宽度设置为*有关,因为当我将其更改为“自动”时,它将正常工作,但我希望第二个datagrid填充剩余的空白空间(我在另一个视图的TabControl中使用此UserControl) 我一直讨厌“column span”属性,但有时您只需要使用它。 在我看来,你应该在更多的网格中划分你的内容,也为了元素的清晰分离 &l

由于边界跨越两列,我遇到了数据绑定速度慢的问题,我不知道为什么。如果我将边框更改为仅驻留在第一列中,那么datagrid数据绑定几乎是即时的。请看下面我的代码

这与网格中的第二列宽度设置为*有关,因为当我将其更改为“自动”时,它将正常工作,但我希望第二个datagrid填充剩余的空白空间(我在另一个视图的TabControl中使用此UserControl)


我一直讨厌“column span”属性,但有时您只需要使用它。 在我看来,你应该在更多的网格中划分你的内容,也为了元素的清晰分离

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition />
    </Grid.RowDefinitions>

    <Border Grid.Row="1">...</Border>

    <Grid Grid.Row="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        <DataGrid Grid.Column="0">...
        <DataGrid Grid.Column="1">...
    </Grid>
</Grid>

...
...
...

也许柱跨度是问题所在。。。我不知道。试试。

谢谢你的评论。这就是我最后所做的,但我只是觉得奇怪,columnspan加上*的网格列定义会使数据交互变得如此缓慢。就像边界/数据网格将永远在视觉元素之外运行一样
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition />
    </Grid.RowDefinitions>

    <Border Grid.Row="1">...</Border>

    <Grid Grid.Row="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        <DataGrid Grid.Column="0">...
        <DataGrid Grid.Column="1">...
    </Grid>
</Grid>