当项目源是非常大的列表(> 4000)时,我看到数据网格中的异常行为,就像列在滚动水平滚动条时消失,甚至额外列(我的意思是重复列)出现而不是指定。
这是我的xaml代码。
<TK:DataGridTextColumn Header=" Date" Binding="{Binding Date}" MinWidth="70"/>
<TK:DataGridTextColumn Header=" Time" Binding="{Binding Time}" MinWidth="70"/>
<TK:DataGridTextColumn Header=" Severity" Binding="{Binding Severity}" MinWidth="70" />
<TK:DataGridTextColumn Header=" Message" Binding="{Binding Message}" MinWidth="70" Width ="1*"/>
</TK:DataGrid.Columns>
</TK:DataGrid>
这是我背后的代码
enter code here
{
pLogList = new List<LogList>();
InitializeComponent();
try
{
pLogList = new List<LogList>();
pLogList.Add(new LogList(DateTime.Now, "Hello World", "Success", "GUI")); //LogList is a class and i hav written each properties to bind to datagrid
datagridtest.ItemsSource = pLogList;
}
catch (Exception pEx)
{
// MessageBox.Show(pEx.Message);
}
}
这是我的LogList类
enter code here
public class LogList { public LogList(DateTime date,string mess,string sev,string time) { m_Date = date; m_Time = time; m_Severity = sev; m_Message = mess; } string m_Time; string m_Message; string m_Severity; DateTime m_Date; public DateTime Date { get { return m_Date; } set { m_Date = value; } } public String Message { get { return m_Message; } set { m_Message = value; } } public String Severity { get { return m_Severity; } set { m_Severity = value; } } public String Time { get { return m_Time; } set { m_Time = value; } } }
我希望我能清楚地解决我的问题并期待解决方案
谢谢大家
答案 0 :(得分:0)
尝试使用DataGrid的Column-和RowVirtualization属性。
这些属性主要是此类问题的罪魁祸首。