Как я могу использовать элемент listview в качестве кнопки в приложении uwp? или как я могу изменить текст текстового поля, нажав на элемент listview в uwp?

#object #listview #uwp #click #listviewitem

#объект #listview #uwp #нажмите #listviewitem

Вопрос:

 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.

Комментарии:

1. Здравствуйте, если вы можете показать соответствующий код XAML, нам будет полезно проанализировать вашу проблему.

2. Здравствуйте, я обновил приведенный выше код. Спасибо за ваш ответ.

Ответ №1:

ItemClickEventArgs имеет ClickedItem свойство, которое получает ссылку на выбранный элемент:

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