2015-12-30 40 views
0

我有一个列表视图,我从API填充它..我想它填充文本框中的文本框中找到的值,当我单击..从列表视图中选择文本时,它是cliked C#Metro App

我的列表视图...

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

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

有人好心帮我做.. 任何形式的帮助表示赞赏....

回答

1

您可以通过将ItemClickEventArgs.ClickedItem转换为目标来读取您的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(); 
}