我的内部有多个UserControl
s的窗口。所有控件在开始时都是看不见的,但是用户可以从ListBox
中选择哪些控件应可见。每个UserControl
都包含带有一些数据的DataGrid
。每当UserControl
的visibility
更改为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>