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