【发布时间】:2014-04-07 15:05:24
【问题描述】:
Evetything 对这段代码很好:
string selectedRowOrderId = "";
if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedRowOrderId))
{
int selectedID = int.Parse(selectedRowOrderId);
var query = from TblOrders order in orderDB.Orders
where order.OrderId == selectedID
select order;
DataContext = new ObservableCollection<TblOrders>(query)[0];
}
我可以在页面上显示订单详情。但我想在同一页面上显示订单产品(来自 TblProductsToOrder)作为订单详细信息下的列表。我的意思是,DataContext 必须有一个来自 TblProductsToOrder 的查询,如下所示:
DataContext = new ObservableCollection<TblProductsToOrder>(query2)[0];
您能帮我如何在 DataContext 中同时拥有这两个吗?
【问题讨论】:
-
您能更好地解释您的需求吗?
-
我认为您应该为部分代码命名,例如
headerPanel.DataContext=query.FirstOrDefault();用于订单itemsPanel.DataContext=query2.ToList();以获取详细信息 -
我有 3 个表(TblOrders、TblProducts 和 TblProductsToOrders)并且我有一个 OrderList。当点击其中之一时,我可以拥有 OrderDetailsPage。 (订单日期、客户名称等)我希望能够将产品作为列表添加到此页面。但在这种情况下,我的数据上下文只有 TblOrders 值...
-
您可以扩展您的 Orders 类以包含一个产品列表,只有在需要时才会填充它们。
-
可能有比我尝试的方法更好的方法 :) 但我唯一的问题是将 2 个查询放入 DataContext 并使用这个新的 DataContext 绑定 XAML 端。
标签: c# windows-phone-8 datacontext