无法在 Windows Phone 的 ListView 中找到选定的索引
Posted
技术标签:
【中文标题】无法在 Windows Phone 的 ListView 中找到选定的索引【英文标题】:Unable to find selected index in ListView for windows phone 【发布时间】:2016-08-21 15:57:44 【问题描述】:我在 Listview 中获取项目的索引时遇到了麻烦。我在数据模板中有一个子元素,如下所示:
<ListView x:Name="ptype_gw" Width="300" HorizontalAlignment="Left" ItemsSource="Binding PropertyTypes" >
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="Binding title" Style="ThemeResource menu_heading_green" Grid.Row="0" />
<GridView Grid.Row="1" ItemsSource="Binding childs" >
<GridView.ItemTemplate>
<DataTemplate>
<Grid>
<RadioButton Name="PropertyTypeRadio" Content="Binding title" Tag="Binding" GroupName="Types" Checked="RadioButton_Checked" Background="White" Foreground="Black" BorderBrush="Black" />
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
现在我需要在选中单选按钮时获取所选项目的索引。我试过以下代码:
var item = (sender as FrameworkElement).DataContext;
int index = ptype_gw.Items.IndexOf(item);
但这对我没有帮助。
【问题讨论】:
您的意思是在选中复选框时获取文本框内容吗?您能否分享整个代码,即已检查的事件?您是否调试并检查该项目是否返回了确切的选定项目? 感谢您的评论 Vishakh。我只想在检查单选按钮时获取列表的选定索引。 【参考方案1】:这很简单。 将列表的 SelectedItem 绑定到视图模型中的属性。说SelectedItem。当用户选择一个项目时,SelectedItem 属性将保存当前所选项目的详细信息。
现在根据您的要求处理选中或未选中的单选按钮事件。当事件发生时,检查 SelectedItem 属性。 我说的是 MVVM 案例。
如果您在 xaml.cs 本身中编写代码,则在单选按钮选中事件中直接获取列表框的 selected 属性。
ListBoxName.SelectedItem
ListBoxName.SelectedIndex
【讨论】:
以上是关于无法在 Windows Phone 的 ListView 中找到选定的索引的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Windows Phone 的 ListView 中找到选定的索引