在实现主/子视图和自定义依赖属性时,我遇到了一个奇怪的问题。
在我的 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 的可混合性,并希望能够解决这个问题,因此任何帮助都会受到赞赏。
如果您想收到我的项目的源代码,请询问