如何防止数据杂志在可见性发生变化后重建行



我的内部有多个UserControl s的窗口。所有控件在开始时都是看不见的,但是用户可以从ListBox中选择哪些控件应可见。每个UserControl都包含带有一些数据的DataGrid。每当UserControlvisibility更改为Visible时,DataGrid似乎都会重建其内容/行。我想防止这种情况,因为它的表现严重。

如何防止DataGrid S每次更改可见性时重建行?

以下是一个示例:

<Window x:Class="Core.View.Windows.MainWindow" ...>
    <Window.DataContext>
        ...
    </Window.DataContext>
    <Window.Resources>
        ...
    </Window.Resources>
    <Grid>
        <ListBox ...>
            ...
        </ListBox>
       <UserControl1 Visibility="{SomeBindingWithConverter}" />
       <UserControl2 Visibility="{SomeBindingWithConverter}" />
       <UserControl3 Visibility="{SomeBindingWithConverter}" />
       <UserControl4 Visibility="{SomeBindingWithConverter}" />
       <UserControl5 Visibility="{SomeBindingWithConverter}" />
    </Grid>
</Window>

如果您正在使用DataGrid

的速度,请使用虚拟化
<DataGrid EnableRowVirtualization="True" 
          EnableColumnVirtualization="True"
          VirtualizingStackPanel.VirtualizationMode="Standard"
          VirtualizingStackPanel.IsVirtualizing="True">
</DataGrid>

最新更新