【发布时间】:2018-06-20 15:57:45
【问题描述】:
我必须从之前绑定的 List 中访问 selectedItem 的详细信息。当我显示 SelectedItem 时,我得到的是 datacontextName.TableName。如何访问所选项目的值?
我的 XAML 代码是:
<TabItem Header="Playlist">
<ListView Name="RecList" SelectionMode="Single" SelectionChanged="RecList_SelectionChanged" >
<!--2 data from table tblMusic, Name and Playtime, is binded-->
<ListView.View>
<GridView>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Time" DisplayMemberBinding="{Binding Playtime}"/>
</GridView>
</ListView.View>
</ListView>
</TabItem>
C# 的功能是:
public MainWindow()
{
MusicDataClassDataContext dc = new MusicDataClassDataContext(Properties.Settings.Default.EliseDBConnectionString);
//binding of the List.
if (dc.DatabaseExists())
{
RecList.ItemsSource = dc.tblMusics.ToList();
}
}
private void RecList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//I tried both SelectedItem and SelectedValue
MessageBox.Show(RecList.SelectedValue.ToString());
}
是否可以使用此 List 从绑定表中获取其他详细信息?
【问题讨论】:
-
列表的定义在哪里?请发布所有必要的代码。
-
tblMusics的数据类型是什么? -
为什么不使用 selectedItem 绑定到在代码中定义的对象?
-
将 SelectedItem 转换为适当的项目类型。然后访问项目的属性。 ToString 不会神奇地为您做到这一点。
标签: c# wpf list data-binding selecteditem