我正在尝试从 WinForms 跳转到 WPF,并且正在尝试学习正确的方法。我想使用正确的 MVVM 模型。这是我的第一个 WPF 项目,我在使用 linq 结果进行数据绑定时遇到了麻烦。我知道我可以在后面的代码中很容易地做到这一点,甚至不使用自定义对象并将整个表从 linq 查询返回到数据网格,同时仍然使用单独的类。但我想坚持这种格式。我不想使用数据表。
假设我有一个带有“工作”表的 dbml。我想选择列“Job”(Linq 似乎自动将此列重命名为 Job1)、“Customer”和“Order_Date”。
这是我的代码:
namespace Custom_Teplate.Model
{
public class LINQResult
{
public System.String JobNum
{ get; set; }
public System.String CustomerName
{ get; set; }
public System.DateTime Order_Date
{get; set; }
public static LINQResult Create()
{
DataDataContext dc = new DataDataContext();
dynamic query = (from ddd in dc.Jobs
where (ddd.Status == "Active")
select new LINQResult
{
JobNum = ddd.Job1,
CustomerName = ddd.Customer,
Order_Date = ddd.Order_Date,
});
return query;
}
}
}
我将命名空间添加到我的 XMAL:
xmlns:c="clr-namespace:Custom_Teplate.Model"
<Window.Resources>
<c:LINQResult x:Key="ResultListData" />
</Window.Resources>
并设置 itemssource 如下:
ItemsSource="{Binding Source={StaticResource ResultListData}}