我能够将自动完成框连接到隔离存储中的本地数据库,并且可以正常工作。我一直试图使用选择更改事件来获取所选项目。这是我的班级
[Table]
public class Hymns
{
[Column(IsPrimaryKey=true, IsDbGenerated=true, DbType="INT NOT NULL Identity", CanBeNull=false, AutoSync=AutoSync.OnInsert)]
public int hymnId { get; set; }
[Column]
public string Title { get; set; }
[Column]
public string Number { get; set; }
[Column]
public string Audio { get; set; }
[Column]
public string Stanza { get; set; }
[Column]
public bool IsFavorite { get; set; }
}
我试过这段代码:
private void acBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
MessageBox.Show(e.AddedItems[0].ToString());
}
}
我仍然没有得到价值。我想得到赞美诗的财产。 任何人都可以帮助我吗?
答案 0 :(得分:0)
尝试将AddedItems[0]
投射到Hymns
,例如:
MessageBox.Show(((Hymns)e.AddedItems[0]).hymnId);
...或分为几行以便于阅读:
Hymne selectedHymne = (Hymns)e.AddedItems[0];
MessageBox.Show(selectedHymne.hymnId);
答案 1 :(得分:0)
感谢您的回答。我使用选择更改事件处理程序来弄清楚
private void acBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
ItemViewModel firstItem = e.AddedItems[0] as ItemViewModel;
if (firstItem != null)
{
int fileId = firstItem.HymnId;
fileId = fileId - 1;
NavigationService.Navigate(new Uri("/DetailsPage.xaml?selectedItem=" + fileId, UriKind.Relative));
}
}
}