从C#中的数据绑定列表中获取所选项目详细信息

时间:2018-01-11 10:39:07

标签: c# wpf list data-binding selecteditem

我必须从之前绑定的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从绑定表中获取其他详细信息?

1 个答案:

答案 0 :(得分:1)

这是一个演员问题。这对我来说很好:

应将selectedItem转换为类型: tblMusic (表的数据类型)并将其存储到变量中。该变量可用于访问之前绑定的表的所有详细信息。

tblMusic Mus = (tblMusic)RecList.SelectedItem;
MessageBox.Show(Mus.Name);

这提供了绑定表格的详细信息。