我想获取所选单元格的值作为字符串。但是我不能选择它作为实体框架对象。
我尝试使用不是来自Entity Framework的对象列表来做到这一点,并且效果很好:
public MainWindow()
{
InitializeComponent();
using (SellEntities Context = new SellEntities())
{
var query = from t in Context.Categories
orderby t.Id
select new
{
t.Id,
CategoryName = t.Name
};
CategoriesDataGridVeiw.ItemsSource = query.ToList();
}
}
private void CategoriesDataGridVeiw_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var rows = CategoriesDataGridVeiw.SelectedItem as Category;
if (rows != null)
{
MessageBox.Show(rows.Name);
}
else
MessageBox.Show("Null");
CategoriesDataGridVeiw.UnselectAll();
}
答案 0 :(得分:0)
问题是datagrid包含查询对象,并且我在datagrid中选择Items作为类别。 解决方案是确保datagrid.ItemsSource等于您以后要投射的对象。
CategoriesDataGridVeiw.ItemsSource = Context.Categories.ToList();
现在我可以使用:
CategoriesDataGridVeiw.SelectedItem as Category
谢谢https://stackoverflow.com/users/861716/gert-arnold。 你让我以正确的方式思考它。