Select 单击时列表视图中的文本 C# Metro 应用程序

Select text from a list view when that is cliked C# Metro App

我有一个列表视图,我从 API 填充它。我希望它用单击时在文本块中找到的值填充一个文本框..

我的列表视图...

<ListView Width="300" Height="134" x:Name="lsvObjectives" IsItemClickEnabled="True" SelectionMode="Multiple" ItemsSource="{Binding Source={StaticResource cvsObjectives}}" ItemClick="lsvObjectives_ItemClick">
                                <ListView.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapGrid Orientation="Horizontal" HorizontalChildrenAlignment="left"/>
                                    </ItemsPanelTemplate>
                                </ListView.ItemsPanel>
                                <ListView.ItemContainerStyle>
                                    <Style TargetType="ListViewItem">
                                        <Setter Property="Padding" Value="0"/>
                                        <Setter Property="Margin" Value="-7"/>
                                    </Style>
                                </ListView.ItemContainerStyle>
                                <ListView.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Vertical" Margin="0,0,0,0" HorizontalAlignment="Center" >
                                            <StackPanel Orientation="Horizontal" Width="310" Height="33" Background="#FFE9D5F0" HorizontalAlignment="Left">
                                                <StackPanel Width="270" VerticalAlignment="Center" Margin="10,5,0,0">
                                                    <TextBlock Text="{Binding objective}" Style="{StaticResource ContentTextBlockStyle}" Foreground="Black" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="13"/>
                                                </StackPanel>                                               
                                            </StackPanel>
                                        </StackPanel>
                                    </DataTemplate>
                                </ListView.ItemTemplate>
                            </ListView>

这是我填充列表的方式:

 private async void getObjectives()
         {
             string getObjectives = baseAddress + "unitPlansDetailsByUnit/1";
             var content = await httpClient.GetStringAsync(new Uri(getObjectives));
             objectivesHelper data = JsonConvert.DeserializeObject<objectivesHelper>(content);
             foreach (var item in data.result)
             {
                 cvsObjectives.Source = data.result;
             }

         }

我的类:

 public class objectives
    {
        public int id { get; set; }
        public string objective { get; set; }
    }
    class objectivesHelper
    {
        public List<objectives> result { get; set; }
    }

我无法从列表视图中找到的文本块中读取值..

有人好心帮我做这个.. 感谢任何形式的帮助....

您可以通过将 ItemClickEventArgs.ClickedItem 转换为您的类型 objectives 来读取 lsvObjectives_ItemClick 方法中的值.

例如:

private void lsvObjectives_ItemClick(object sender, ItemClickEventArgs e)
{
    objectives item = e.ClickedItem as objectives;
    var itemText = item.objective;

    youtTextBox.Text = item.Description.ToString();
}