Ich habe Fenster mit mehreren UserControl
s innen. Alle Steuerelemente sind zu Beginn unsichtbar, aber der Benutzer kann zwischen ListBox
wählen, welches Steuerelement sichtbar sein soll. Jeder UserControl
enthält DataGrid
mit einigen Daten. Jedes Mal, wenn sich die visibility
der UserControl
in Visible
ändert, scheint DataGrid
den Inhalt/die Zeilen wiederherzustellen. Ich möchte das verhindern, weil es die Leistung schlecht trifft.Wie verhindert man, dass DataGrid Zeilen neu erstellt, nachdem sich ihre Sichtbarkeit geändert hat?
Wie kann verhindert werden, dass DataGrid
s Zeilen immer dann neu erstellt, wenn sich ihre Sichtbarkeit ändert?
Unten ist das Beispiel:
<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>
für Geschwindigkeit suchen Was Sie denken lässt, dass die Zeilen wieder aufgebaut werden? Bitte geben Sie ein Repo an, das dieses Verhalten demonstriert: http://stackoverflow.com/help/mcve. – mm8
@ mm8 Ich könnte falsches Wort verwendet haben, aber ich kann sehen, dass Zeilen nicht im Raster sind (sind nicht sichtbar?), Wenn ich zu 'UserControl' wechsele und kurz danach erscheint, wenn' IsAsync' von 'ItemsSource'. – user2475983