我有一个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的转换器。