如何在uwp应用程序中将Listview项目用作按钮?或者如何通过单击uwp中的列表视图项来更改文本框的文本?

问题描述

private void lstvActiveIssues_ItemClick(object sender,ItemClickEventArgs e)
    {
        Issue issue = (Issue)lstvActiveIssues.SelectedItem;
        tbxTest.Text = issue.Description;
    }

**问题在这里为空。这意味着未选择该项目。 **

<ListView x:Name="lstvActiveIssues" Header="Active documents" HorizontalAlignment="Center" Margin="10" Background="#FF1F2436" ItemClick="lstvActiveIssues_ItemClick" IsItemClickEnabled="True">
            <ListView.ItemTemplate>
                <DataTemplate x:DataType="models:Issue">                        
                        <StackPanel>
                            <StackPanel Orientation="Horizontal" Margin="10">
                                <TextBlock Text="Customer Id:" Margin="10" />
                                <TextBlock Text="{x:Bind Customer.Id}" Margin="10"/>
                            </StackPanel>
                            <StackPanel Orientation="Horizontal">                                 
                                <TextBlock Text="Customer Name:" Margin="10"/>
                                <TextBlock Text="{x:Bind Customer.FirstName}" Margin="10"/>
                                <TextBlock Text="{x:Bind Customer.LastName}" Margin="10"/>
                            </StackPanel>
                        </StackPanel>                                              
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

///我在这里添加了xaml代码

解决方法

ItemClickEventArgs具有ClickedItem属性,该属性获取对所单击项目的引用:

private void lstvActiveIssues_ItemClick(object sender,ItemClickEventArgs e)
{
    Issue issue = e.ClickedItem as Issue;
    tbxTest.Text = issue?.Description;
}