假设我有一个CellContentTemplate
(DataGrid
中的一列),我将其DataTemplate
定义为内联:
<Column.CellContentTemplate>
<DataTemplate>
</DataTemplate>
</Column.CellContentTemplate>
与StaticResource
引用预定义DataTemplate
相比,内存使用量方面是否存在差异?
完成DataTemplate
的所有内容后,无论如何复制。
DataTemplate
TextBlock
中有Foreground
个“绿色”。如果我DataTemplate
引用StaticResource
或者是否复制了这个“绿色”画笔是否会在行之间重复使用?答案 0 :(得分:3)
DataTemplate
本身只会创建一次,无论您是将其创建为可重用资源还是内联资源。因此,除非您创建DataGrid
的另一个实例,否则在内存使用方面没有区别。然后会有另一个内联DataTemplate
创建的实例。
让我们说
DataTemplate
TextBlock
Foreground
与DataTemplate
&#34;绿色&#34;在里面。这是&#34; Green&#34;如果我通过StaticResource
引用Brushes.Green
或者是否复制了,那么刷会在行之间重复使用?
字符串&#34;绿色&#34;您在XAML标记中定义的值被解析为Brushes
,这是prev/next
类的静态属性,每次都返回相同的缓存和冻结笔刷。