Search code examples
objectlistviewuwpclicklistviewitem

How can I use a listview item as a button in uwp app? or how can I change text of a textbox by clicking on a listview item in uwp?


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

**the issue is null here. It means that the item is not selected. **

<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>

//I have added the xaml code here.


Solution

  • ItemClickEventArgs has a ClickedItem property that gets a reference to the clicked item:

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