我有一个ListView
仅包含按钮。我想做的很简单,我想要获得已单击按钮的索引。列表的计数从0到100不等,因此当用户单击按钮6时,我需要这个数字进行处理。
我定义了我的ListView
像这样:
<ListView Name="myListView"
ItemsSource="{Binding Source={StaticResource myDataModel},
Path=StatusList,
Mode=OneWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Button Mode=OneWay}"
Click="Button_Click"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我最初的想法是创建一个带有 ID 的自定义按钮并将索引绑定到 ID,但我不知道如何做到这一点。
我试过:
int a = myListView.Items.IndexOf(((Button)sender));
在事件处理程序内部,但它总是返回 0xffffffff
谁能告诉我如何获取单击按钮的索引?
使用 DataContext 查找项目:
var item = (sender as FrameworkElement).DataContext;
int index = myListView.Items.IndexOf(item);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)