Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 包含逗号作为绑定路径的字典字符串键_Wpf - Fatal编程技术网

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]}

谢谢你的提示!还有其他角色需要这种转义吗?我曾尝试将
[
]
连接起来,虽然它是字典索引器的分隔符,但效果很好。我不确定所有规则都是什么,但我链接的页面上有一个叫做“属性路径字符串的转义”的部分,它涵盖了需要转义的字符以及如何转义它们。