我不知道為什么,但是當我定義 DataGrid 的 ItemsSource 時,它??會造成一些記憶體泄漏。
這是我的 DataGrid 的 xaml 代碼:
<DataGrid x:Name="DataGrid1" AutoGenerateColumns="True" IsReadOnly="True" ClipboardCopyMode="ExcludeHeader" Margin="20,250,20,20" SelectionUnit="Cell" Style="{DynamicResource MaterialDesignDataGrid}" SelectionMode="Single"/>
這是我定義 ItemsSource 背后的代碼:
cmd = New SqlCommand With {
.CommandText = strsql,
.Connection = DBConn.ADONETconn
}
da = New SqlDataAdapter(cmd)
dt = New DataTable("RECH")
da.Fill(dt)
DataGrid1.ItemsSource = dt.DefaultView
正如您從診斷工具中看到的,我在某處有一些記憶體泄漏。

我知道這是由該行引起的,DataGrid1.ItemsSource = dt.DefaultView因為如果我對其進行評論,則不會發生記憶體泄漏。
我已經下載了 JetBrains dotMemory 來看看發生了什么。正如您在下面看到的,它告訴我它是由 DataGridRow 引起的。

我不明白為什么會發生這種情況。DataTable 中的資料是正確的。

如果您有任何線索,請與我分享
uj5u.com熱心網友回復:
成立 !實際上,這是因為我的 DataGrid 位于 StackPanel 中。我仍然不知道為什么,但這是一個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388107.html
下一篇:節點安裝在MacOS上搞砸了
