我有一个基本上是这样设置的视图:
<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 顺序没有影响。这段代码我哪里出错了?