2017-04-03 76 views
0

我有这个ListView在XAML:从ListView控件的ItemTemplate一些文本复制到一个字符串中UWP

<ListView x:Name="listView" Margin="10,72,10,120" Background="#7F000000" BorderBrush="#FF00AEFF" BorderThickness="1"> 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <StackPanel BorderThickness="0,0,0,1"> 
         <TextBlock Text="{Binding SSID}" Foreground="#FF067EB6" Margin="0,5,0,0"></TextBlock> 
         <TextBlock Text="{Binding BSSID}" Foreground="#FF067EB6"></TextBlock> 
         <TextBlock Text="{Binding NumOfBars}" Foreground="#FF067EB6"></TextBlock> 
         <TextBlock Text="{Binding WpsPin}" Foreground="#FF067EB6" Margin="0,0,0,5"></TextBlock> 
        </StackPanel> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

而且这样的事情在后面的代码:

class Networks 
{ 
    public string SSID { get; set; } 
    public string BSSID { get; set; } 
    public string NumOfBars { get; set; } 
    public string WpsPin { get; set; } 
} 

而这一次使用ListView

listView.ItemsSource = null; 
ObservableCollection<Networks> nets = new ObservableCollection<Networks>(); 
nets.Add(new Networks() { SSID = "SSID: " + networkSSID, BSSID = "BSSID: " + network.Bssid, NumOfBars = "Signal: " + network.SignalBars.ToString() + "/4", WpsPin = "WPS Pin: " + wpspin }); 
listView.ItemsSource = nets; 

现在,我想选择的项目中的项目内容把它放在一个字符串中。例如,我想获取所选项目的“WpsPin”值。

我该怎么办?

回答

1

您可以订阅ListView.SelectionChanged事件和类似下面的代码实现:

XAML:

<ListView ... SelectionChanged="SelectionChanged"> 

C#:

private void SelectionChanged(object sender, SelectionChangedEventArgs e) { 
    Networks network = e.AddedItems.FirstOrDefault() as Networks; 
    if (network == null) return; 

    System.Diagnostics.Debug.WriteLine(network.WpsPin); 
} 
+0

谢谢,对我帮助很大。 – SaeedZeroOne

相关问题