我有一个视图,大致设置如下:
<Grid>
<ViewBox>
<Grid>
<ItemsControl ItemsSource="{Binding MyItems}"
ItemTemplate="{Binding Source={StaticResource MyItemsDataTemplate}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
</ViewBox>
</Grid>
这里使用的 DataTemplate 可以简化为以下内容:
<DataTemplate x:Key="AreaItemDisplayDataTemplate">
<Canvas Grid.ZIndex={Binding Z}>
<Grid>
// an shape is displayed here...
</Grid>
</Canvas>
我现在期望ZIndex绑定到各个项的Z属性。当我调试代码时,我也可以看到Z属性getter被访问,正如我所期望的那样(例如,每当我为它引发propertychanged事件时),因此我认为绑定工作正常。
然而,ZIndex并没有按预期工作。对于实际显示的Z顺序,值的绑定没有影响。我在这段代码中错了哪里?