我有一个DataGrid和两个StaticResource

我想将DataGrid的RowStyle绑定到两个StaticResources之一。

RowStyle="{StaticResource {Binding Status, Converter={StaticResource MyConverter}}}"


MyConverter返回StaticResource的密钥。

但是我得到这个错误:

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

最佳答案

静态资源密钥不是可以动态分配的值。密钥名称需要在Xaml中内联。

正确的方法是这样的:

RowStyle="{Binding Status, Converter={StaticResource MyConverter}}"


根据“ MyConverter”键存储的转换器将返回一个Style对象。请注意,您可以在转换器中添加ResourceDictionary类型的属性,并将样式放在该词典中,以便转换器进行查找。

实际上,我已经写了一个能够支持here的转换器。

10-08 00:49