问题描述
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>
解决方法
ItemClickEventArgs
具有ClickedItem
属性,该属性获取对所单击项目的引用:
private void lstvActiveIssues_ItemClick(object sender,ItemClickEventArgs e)
{
Issue issue = e.ClickedItem as Issue;
tbxTest.Text = issue?.Description;
}