WPF:绑定顺序

时间:2009-07-17 15:18:40

标签: wpf xaml user-controls mvvm binding

我有一个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?

1 个答案:

答案 0 :(得分:0)

InitializeComponent之后,将SelectedIndex设置为-1 - 这对我有用。