WPF绑定:在DataTemplate内的TextBox中编辑显示相同值的值

时间:2012-09-24 14:38:52

标签: c# wpf binding datatemplate

我想创建一个调试窗口,允许我们在运行时编辑应用程序中各种对象的属性。例如,这将允许我们在我们的应用程序中调整某些启发式规则的阈值,而无需重建和/或重新启动应用程序。

目标是告诉调试窗口启用编辑对象的某些属性。然后窗口获取属性的值,保持对对象的弱引用并显示适当的数据模板(基于值的类型),以使我们能够编辑值并在需要时将新值应用于对象。

问题:

正确应用数据模板,并显示TextBox中每个调试项的值。但是,Value绑定到的每个DebugItem的{​​{1}}属性从不更新。我在该物业的二传手上设置了一个断点;断点永远不会被触发。

以下是我目前的设置:

  • 我的视图模型中有TextBoxDebugItems个对象集合。
  • 每个DebugItem都有一个DebugItem类型的Value属性。
  • 出于调试目的,object属性始终包含字符串。
  • 我为Value类型和DebugItem类型创建了数据模板。
  • 我的窗口包含绑定到System:String集合的ListBox,并使用上面定义的数据模板在ContentPresenter中显示DebugItems。该数据模板中的DebugItem 绑定到TextBox,以便我们可以使用上面定义的另一个Value数据模板编辑字符串值 *

* 我的印象是,这与编辑无效的原因有关。通过,我可能会弄错。

窗口的相关部分:

System:String

我的数据模板:

(特别感兴趣的是内部<Grid Background="#CECECE"> <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"> <ItemsControl ItemsSource="{Binding DebugItems}" Background="Transparent" BorderBrush="Transparent" /> </ScrollViewer> </Grid> 及其嵌入式ContentPresenter数据模板。)

System:String

有什么想法吗?

0 个答案:

没有答案