該程序工作正常,不會崩潰或什麼。但數據沒有顯示在表(數據網格)無法使用MVVM模式從數據庫中顯示WPF表格
更新版本:
查看: Userperspective.xaml
我得到的,因爲綁定路徑「產品」的XAML文件中的錯誤是未知DataContext的
<Grid Margin="0,0,0,-20">
<DataGrid Name="Producttable" ItemsSource="{Binding Path=Products}"
HorizontalAlignment="Left" Height="200" Margin="10,44,0,0"
VerticalAlignment="Top" Width="972" />
查看: Userperspective.xaml.cs
public partial class Userperspective : Window
{
public Userperspective()
{
InitializeComponent();
DataContext = new ProductViewModel();
}
}
ProductviewModel
private readonly Product _product;
private IBackend _backend;
public ICommand ProductCommand { get; set; }
public IList<Product> Products { get; set; }
public ProductViewModel()
{
_backend = new BackendService();
_product = new Product();
ProductCommand = new ProductCommand(this);
}
public Product Product()
{
return _product;
}
public void LoadProducts()
{
Products = _backend.GetProducts();
RaisePropertyChanged("Products");
}
Productcommand
private readonly ProductViewModel _vm;
public ProductCommand(ProductViewModel vm)
{
this._vm = vm;
}
public void Execute(object parameter)
{
_vm.LoadProducts();
}
BackendService
namespace _blabla
{
class BackendService : IBackend
{
public IList<Product> GetProducts()
{
using (var db = new NORTHWNDEntities())
{
var query = from p in db.Products
select new Product
{
Name = p.ProductName,
};
return query.ToList();
}
}
}
}
Ibackend
namespace _blabla.Commands
{
public interface IBackend
{
IList<Product> GetProducts();
}
}
[您最後一個問題的答案](http://stackoverflow.com/a/13971624/620360)是正確的。對於綁定,您需要[屬性](http://msdn.microsoft.com/zh-cn/library/w86s7x04.aspx)。 – LPL
我已經做到了。我不需要看到更改,我只需要查看錶格顯示數據庫中的數據。但它仍然劑量工作:( – Zaz
如果您將產品列表加載到您的viewModel構造函數中而不是getter中,會發生什麼情況?還可以詳細說明什麼是不工作的?您是否收到任何錯誤?程序崩潰了嗎?「不起作用「不給我們提供足夠的信息來幫助 –