如何从列表框中的所选项目中检索值。
我有一个数据绑定列表框:
<ListBox x:Name="EventsListBox"
ItemsSource="{Binding}"
SelectedValuePath="idevents"
ItemTemplate="{DynamicResource DataTemplate2}"
/>
使用此datatemplate填充:
<DataTemplate x:Key="DataTemplate2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0,5,5,5" Grid.ColumnSpan="2">
<DockPanel TextBlock.FontWeight="Bold" >
<TextBlock Text="{Binding Path=eventname, FallbackValue=Manchester}" HorizontalAlignment="Center"/>
</DockPanel>
<TextBlock Text="{Binding Path=realchannelname, FallbackValue=Channel}" FontStyle="Italic" HorizontalAlignment="Left" />
<TextBlock Text="{Binding Path=datetime, FallbackValue=datetime}" HorizontalAlignment="Left" />
</StackPanel>
</Grid>
</DataTemplate>
如何获取'eventname'值并将其设置为此处标签的字符串;
Private Sub EventsListBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles EventsListBox.SelectionChanged
End Sub
答案 0 :(得分:0)
一般来说,我尝试通过绑定来做事,因为它们会自动更新。
在Code Behind中,您可以通过SelectedValue属性访问项目的值。
String value = EventsListBox.SelectedValue;
更好的方法是使绑定更新属性。这样一切都将通过绑定更新
<ListBox x:Name="EventsListBox"
SelectedValue="{Binding SelectedEventName} >
</ListBox>
您应该注意,SelectedEventName是列表框绑定到的viewmodel上的属性。