问题描述
||
我在XAML中定义了以下ItemsControl:
<UserControl.Resources>
<DataTemplate x:Key=\"myDataTemplate\">
<Grid Margin=\"20\">
<View:MyView Width=\"123\" Height=\"212\"/>
</Grid>
</DataTemplate>
</UserControl.Resources>
<Grid>
<ItemsControl ItemsSource=\"{Binding MyVMs}\" ItemTemplate=\"{StaticResource myDataTemplate}\">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
并且在呈现所有UI元素之后分配“ 1”的DataContext。我有兴趣知道,为什么会这样?
解决方法
呈现元素后未设置DataContext。如果是这种情况,您将看到元素呈现两次,第一次是在DataContext为null时,第二次是在设置DataContext并评估绑定时。
根据您的描述,您正在构造函数内进行断点或跟踪。在构造属性之前,不能在类上设置属性!