我有一个usercontrol(ItemsView),我在其他视图中使用。由于我需要访问其ViewModel,因此ItemsViewViewModel包含在包含该控件的视图的ViewModel中。我多次使用这个控件,我发现在我的ItemsView控件的ItemsSource上绑定一个集合很有用(不同的是,取决于使用它的视图)。它有效,但不是所有时间。 这里有一些代码:
<local:ItemsView DataContext="{Binding Path=ItemsViewModel}" ItemsSource="{Binding Path=DataContext.CurrentItem.Children, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
问题是ItemsView的DataContext有时会在ItemsSource之前设置,有时也会在之后设置。这是有问题的,因为ItemsSource是一个链接到ItemsViewViewModel的依赖项属性。 有没有办法每次在ItemsSource之前设置DataContext?
答案 0 :(得分:0)
在InitializeComponent
之后,将SelectedIndex
设置为-1 - 这对我有用。