C# Windows 通用应用程序列表查看所选项内容

本文关键字:选项 列表 Windows 应用程序 | 更新日期: 2023-09-27 17:56:28

我正在构建一个通用Windows应用程序并使用ListView,单击后,我似乎无法获得所选项目文本/项目详细信息。

我的 XAML 代码:

            <ListView Name="listviews" Margin="10,172,10,0" Tapped="listviews_Tapped" SelectionChanged="listviews_SelectionChanged">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding Bookings.ID}" Visibility="Collapsed" />
                    <TextBlock>
                        <Run Text="{Binding Bookings.first}" FontSize="24"></Run>
                        <Run Text="{Binding Bookings.last}" FontSize="32"></Run>
                    </TextBlock>
                    <TextBlock Tag="{Binding Bookings.ID}">
                        <Run Text="Total: "/>
                        <Run Text="{Binding Bookings.pax}" />
                        <Run Text=" - M: "/>
                        <Run Text="{Binding Bookings.total_male}"></Run>
                        <Run Text=" / F: "/>
                        <Run Text="{Binding Bookings.total_female}"></Run>
                    </TextBlock>
                    <ToggleSwitch x:Name="toggleSwitch1" OnContent="Checked-in" OffContent="Waiting" />
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

我尝试使用Tappped & SelectionChanged,但似乎无法获取数据...有什么建议吗?

谢谢!

C# Windows 通用应用程序列表查看所选项内容

如果要在 ItemClick 事件上捕获它,则必须将 ListView 的 ItemClickEnabled 属性设置为 True,将 SelectionMode 设置为 none。

之后,在 ItemCLick 事件处理程序的第二个参数(通常是 e 参数)中,您可以使用 e.ClickedItem 属性捕获您的模型。

不要忘记将其转换为您的模型,例如:

var myClickedItem = e.ClickedItem as Bookings

请尝试将其添加到您的主页.cs文件中:

void listviews_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    Bookings SelectedBook = (Bookings)listviews.SelectedItem;
    var abc = SelectedBook.ID;
}

现在,您可以使用 SelectedBook.xyz 访问 Bookings 类型对象的所有属性