【发布时间】:2018-05-17 14:40:57
【问题描述】:
我需要有关 UWP 中的 ListView 的帮助。如何获取单击项目的 TextBlock 值? 提前谢谢你
我的代码:
<ListView x:Name="lstVLocalTemp" ItemsSource="{Binding LocalTemp}" Background="{StaticResource NuhmeBackgroundColor}" IsItemClickEnabled="True" >
<ListView.ItemTemplate>
<DataTemplate x:Name="DoubleLineDataTemplate">
<StackPanel Orientation="Horizontal" Height="64" >
<Image Source="/Assets/Icons/Weather/Thermometer.png" Height="32" Width="32" VerticalAlignment="Center"/>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" Margin="2,0,0,0">
<TextBlock x:Name="txBLocalTempLocation" Text="{Binding Location}" Foreground="OrangeRed"/>
<TextBlock x:Name="txBLocalTempIP" Text="{Binding IP}" Foreground="DarkSeaGreen"/>
<TextBlock x:Name="txBLoacalTempDevice" Text="{Binding Device}" Foreground="DarkSeaGreen"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Dim lt As New LocalTemp With {.Location = "Her", .IP = "192.168.0.155", .Device = TempDeviceType.DS18B20}
Dim lt2 As New LocalTemp With {.Location = "Ikke hjemme", .IP = "192.168.0.156", .Device = TempDeviceType.DHT11}
dataList.Add(lt)
dataList.Add(lt2)
lstVLocalTemp.ItemsSource = dataList
Public Class LocalTemp
Public Property Location() As String
Public Property IP() As String
Public Property Device() As TempDeviceType
End Class
【问题讨论】:
-
我最近经常看到这种情况,但我不知道为什么。我相信人们要么决定学习 UWP,要么需求正在上升,但在学习 UWP 或 WPF 时强烈建议学习 MVVM 和 XAML。我相信这是代码背后和 XAML 绑定的问题,都是错误的方式。您当然可以以 MVC 格式编写 UWP,这很好,但是当您使用 DataBinding 时,您更像是 MVVM 格式,不应将两者结合起来。我已经回答了这些问题,但我开始觉得我并没有真正帮助任何人。 IMO,您应该休息一下,了解有关 MVVM / XAML 的更多信息。