【发布时间】:2010-04-19 11:10:33
【问题描述】:
在实现主/子视图和自定义依赖属性时遇到了一个奇怪的问题。
在我的 masterView 中,我在 XAML 中以声明方式绑定视图模型,如下所示:
DataContext="{Binding MainViewModelProperty, Source={StaticResource Locator}}"
我的 MainViewModel 公开了一个可观察的集合,我将其绑定到 ItemsControl,如下所示:
<ItemsControl ItemsSource="{Binding Lists}" Height="490" Canvas.Top="10" Width="70">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Canvas>
<local:TaskListControl Canvas.Left="{Binding ListLeft}"
Canvas.Top="{Binding ListTop}"
Width="{Binding ListWidth}"
Height="{Binding ListHeight}"
ListDetails="{Binding}"/>
</Canvas>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
TaskListControl 依次声明并绑定到它的 ViewModel,我还为 ListDetails 属性定义了一个依赖属性。
未设置 ListDetails 属性,如果我删除对其视图模型的声明性引用,则依赖属性的回调确实会被触发。
声明式绑定到视图模型和定义依赖属性是否存在冲突?
我真的很喜欢 MVVM Light 的可混合性,并希望能坚持解决这个问题,因此我们会感谢任何帮助。
如果您想收到我的项目的源代码,请询问
【问题讨论】:
-
您的问题到底是什么?你说了很多关于几个属性,但至少我不明白所有这些属性的意图,我们也没有看到很多代码,你也没有说出具体的问题。也许你有,但我没有看到。您的问题“与视图模型和定义依赖属性的声明性绑定是否存在冲突?” 也很笼统......
标签: silverlight mvvm mvvm-light light