【发布时间】:2012-06-01 16:38:42
【问题描述】:
我正在使用 Silverlight 4。
我为 DataGrid 定义了一个 DataTemplate,它允许我成功地显示我喜欢的值。我在这个 DataTemplate 中有一个 Rating 控件,它在 Value 属性上有一个 Converter,就像这样..
<DataTemplate>
<toolkit:Rating Value="{Binding Converter={StaticResource MyConverter}" ItemCount="5" />
</DataTemplate>
当我单步执行代码并进入转换器时,我看到 value 参数不是与模板呈现的行对应的项,而是我的 ViewModel,即 DataGrid 本身的 DataContext!
现在,如果我像这样稍微调整一下,
<DataTemplate>
<toolkit:Rating Value="{Binding SomeProperty Converter={StaticResource MyConverter}" ItemCount="5" />
</DataTemplate>
传递给 MyConverter 的值是 DataTemplate 呈现的项目的 SomeProperty。
有人知道为什么会这样吗?如何绑定到模板引用的项目而不是 DataGrid 的 DataContext?
【问题讨论】:
标签: silverlight xaml mvvm silverlight-4.0 datatemplate