无法在 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 中找到选定的索引

Windows Phone 7 模拟器无法运行

Windows Phone ContactPicker 无法正常等待

Windows phone:无法使用套接字连接到计算机

无法使用 Windows Phone 后台任务进行异步调用

无法加载 DLL 'sqlite3':在 windows phone 应用程序中。