我有一个在我的其他 View 之一中使用的用户控件(ItemsView)。因为我需要访问它的 ViewModel,所以 ItemsViewViewModel 包含在包含控件的 View 的 ViewModel 中。我多次使用这个控件,我发现在我的 ItemsView 控件的 ItemsSource 上绑定(bind)一个集合很有用(不同的,取决于使用它的 View )。它有效,但并非一直有效。
这里有一些代码:
<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 ?
最佳答案
之后 InitializeComponent
, 设置 SelectedIndex
到 -1 - 这对我有用。
关于WPF : Binding Order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1143941/