4

我寻找某种方式来显示ItemsControl正在使用的项目索引DataTemplate。所以我发现了这个好问题。我在那个问题中使用了这个想法,但所有的值都是零!我的代码与该问题中的代码之间的唯一区别是我的控件(将显示索引)不直接在DataTemplate. 它在 aGrid和 theGridDataTemplate

这是我的代码:

<ItemsControl ItemsSource="{Binding }">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                // column definitions
                <Label Content="{Binding RelativeSource={RelativeSource
                       Mode=TemplatedParent}, 
                       Path=(ItemsControl.AlternationIndex)}"/>
                // some other controls
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

结果:

0
0
0
// and so on

我期望显示的内容:

0
1
2
// and so on

这段代码有什么问题?

4

1 回答 1

11

AlternationCount需要设置您的属性的属性。

<ItemsControl ItemsSource="{Binding }" AlternationCount={Binding CountOfItems}">
<ItemsControl.ItemTemplate>
    <DataTemplate>
        <Grid>
            // column definitions
            <Label Content="{Binding RelativeSource={RelativeSource
                   Mode=TemplatedParent}, 
                   Path=(ItemsControl.AlternationIndex)}"
                   />
            // some other controls
        </Grid>
    </DataTemplate>
</ItemsControl.ItemTemplate>

于 2013-02-22T10:03:51.237 回答