-1

I have Itemcontrol in WPF. And Items source using Binding property.Items are only one button How can I show index of item when I clicked Button? I read about AlternationIndex but only show on the xaml page.

1 Answers1

0

You can pass it via Tag property.

    <ItemsControl AlternationCount="10">
    <ItemsControl.Items>
        <Button Tag="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=Self}}" Click="Button_Click"/>
        <Button Tag="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=Self}}" Click="Button_Click"/>
        <Button Tag="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=Self}}" Click="Button_Click"/>
        <Button Tag="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=Self}}" Click="Button_Click"/>
        <Button Tag="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource Mode=Self}}" Click="Button_Click"/>
    </ItemsControl.Items>
</ItemsControl>

Then you can parse it in Click handler.

//UserControl.xaml.cs
public void Button_Click(object sender, EventArgs args)
{
    var button = sender as Button;
    var alternationIndex = (int)Button.Tag;
}
Anton
  • 718
  • 6
  • 11