Wpf 包含逗号作为绑定路径的字典字符串键
我正在以编程方式为Wpf 包含逗号作为绑定路径的字典字符串键,wpf,Wpf,我正在以编程方式为DataGridColumn创建绑定,例如: var path = "DictObj[" + key_str + "]"; column.Binding = new Binding(path); 它通常工作正常,但当key\u str包含逗号时,列中的单元格将不显示任何内容。我试过(没有太多考虑)var path=“'…”,“\'…\”,“{}{…}”,“{}…'”,或者,“DictObj[[“+key\u str+”]]”,但都没有成功 由于键\u str也用于显示,我不希
DataGridColumn
创建绑定,例如:
var path = "DictObj[" + key_str + "]";
column.Binding = new Binding(path);
它通常工作正常,但当key\u str
包含逗号时,列中的单元格将不显示任何内容。我试过(没有太多考虑)var path=“'…”
,“\'…\”
,“{}{…}”
,“{}…'”
,或者,“DictObj[[“+key\u str+”]]”
,但都没有成功
由于
键\u str
也用于显示,我不希望它删除逗号。有什么想法吗?传递给绑定的路径
用于构造属性路径
对象。该对象将逗号(,)视为特殊字符。您需要通过在逗号前面放置插入符号(^)字符来对其进行转义。因此,您的路径变量应该如下所示:
var path = "DictObj[" + key_str.Replace(",", "^,") + "]";
根据:“内部索引器([]),插入符号(^)转义下一个字符。”
注意:从XAML创建类似的绑定实际上需要逗号前面的两个转义字符(^\):
{Binding Path=Dict[Some^\,String]}
谢谢你的提示!还有其他角色需要这种转义吗?我曾尝试将
[
和]
连接起来,虽然它是字典索引器的分隔符,但效果很好。我不确定所有规则都是什么,但我链接的页面上有一个叫做“属性路径字符串的转义”的部分,它涵盖了需要转义的字符以及如何转义它们。