我有两个DataGrid
s 并且我有同步滚动(在一个网格上滚动会导致其他网格滚动)。其中一个网格的 a DataGridTemplateColumn
withDataTemplate
设置为 a Image
:
<DataGridTemplateColumn Width="16">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="CommentIcon_Clicked" />
</Style>
</DataGridTemplateColumn.CellStyle>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding Blank, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
数据绑定到网格后,滚动变得非常缓慢和缓慢。因此,我怀疑它的Source
属性绑定操作会导致每次滚动时出现缓慢,因为如果我将绑定设置为 a StaticResource
,那么滚动就会变得平滑。有没有办法来解决这个问题?
更新
问题是由于对Image
源的绑定错误。绑定到Image
源的属性的值是一个空字符串:
var d2 = (from l in t.Item2
select new ProgramLine { Blank = String.Emtpty, Line = l}).ToList();
dataGrid2.ItemsSource = d2;
这导致默认转换器失败,从而导致滚动变得迟缓,因为每次滚动发生时都会调用属性 getter。
经验教训 就像 Steven 所说,确保没有装订错误
提示 在调试模式下运行 WPF 应用程序时使用即时窗口