You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以编程方式绑定二维ObservableCollection至TextBox?

解决ObservableCollection嵌套集合的TextBox绑定问题

你的代码存在两个关键问题导致绑定失效:

  • 绑定路径写法错误
    当Source已设置为exportData时,PropertyPath无需再指定集合名称,直接用索引器语法访问嵌套元素即可。原代码里的new PropertyPath("exportData", i, j)写法错误,正确路径应为new PropertyPath($"[{i}][{j}]")。

  • 绑定目标属性错误
    你创建的是TextBox控件,但绑定目标用了TextBlock.TextProperty,这会导致绑定无法关联到TextBox的Text属性,应改为TextBox.TextProperty。

修正后的代码如下:

txtBlock = new TextBox();
Binding txtBind = new Binding();
txtBind.Source = exportData;
// 使用正确的索引器路径访问嵌套集合元素
txtBind.Path = new PropertyPath($"[{i}][{j}]");
// 绑定到TextBox的Text属性
BindingOperations.SetBinding(txtBlock, TextBox.TextProperty, txtBind);

如果需要双向绑定(修改TextBox内容后同步回集合),需确保内外层ObservableCollection都能正确触发集合变更通知;若仅单向显示,上述修正即可生效。

内容的提问来源于stack exchange,提问作者Dane Brazinski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:25:26