我试图绑定一个ObservableCollection的某些元素一个DataGrid,但我的问题是,当我行添加到我的数据网格显示绑定一个ObservableCollection的某些元素上一个DataGrid
这里一的的ObservableCollection的所有财产DataGrid的照片前我添加行:
这里与行DataGrid的照片说:
你可以看到,列添加到DataGrid
XAML的看法:
视图模型:
public EntreeDeCommandeViewModel(IBanniereService banniereService
, IItemsFactureService itemsFactureService
, IFactureService factureService, INavigationService navigationService)
{
_banniereService = banniereService;
_navigationService = navigationService;
_itemsFactureService = itemsFactureService;
_factureService = factureService;
RetrieveArgs = new RetrieveArticleFactureArgs();
AjouterItem = new RelayCommand(() =>
{
List<ItemsFacture> _itFacture = new List<ItemsFacture>();
_itFacture.Add(new ItemsFacture() {NombreArticle = RetrieveArgs.NombreArticle
, PrixUnitaireArticle = RetrieveArgs.PrixArticle
, PrixTotalArticle = (RetrieveArgs.NombreArticle * RetrieveArgs.PrixArticle) });
ItemsFactures = new ObservableCollection<ItemsFacture>(_itFacture);
});
}
public RetrieveArticleFactureArgs RetrieveArgs {get; set;}
private ObservableCollection<ItemsFacture> _itemsFacture;
public ObservableCollection<ItemsFacture> ItemsFactures
{
get
{
return _itemsFacture;
}
set
{
if (_itemsFacture == value)
{
return;
}
RaisePropertyChanging();
_itemsFacture = value;
RaisePropertyChanged();
}
}
类:
public class ItemsFacture : ObservableObject
{
#region Membre
private int? _idItemsFacture = null;
private Facture _facture;
private Article _article;
private int? _nombreArticle;
private double _prixUnitaireArticle;
private double _prixTotalArticle;
#endregion
#region Propriete ItemsFacture
public virtual int? IdItemsFacture
{
get
{
return _idItemsFacture;
}
set
{
if (_idItemsFacture == value)
{
return;
}
RaisePropertyChanging();
_idItemsFacture = value;
RaisePropertyChanged();
}
}
public virtual Facture Facture
{
get
{
return _facture;
}
set
{
if (_facture == value)
{
return;
}
RaisePropertyChanging();
_facture = value;
RaisePropertyChanged();
}
}
public virtual Article Article
{
get
{
return _article;
}
set
{
if (_article == value)
{
return;
}
RaisePropertyChanging();
_article = value;
RaisePropertyChanged();
}
}
public virtual int? NombreArticle
{
get
{
return _nombreArticle;
}
set
{
if (_nombreArticle == value)
{
return;
}
RaisePropertyChanging();
_nombreArticle = value;
RaisePropertyChanged();
}
}
public virtual double PrixUnitaireArticle
{
get
{
return _prixUnitaireArticle;
}
set
{
if (_prixUnitaireArticle == value)
{
return;
}
RaisePropertyChanging();
_prixUnitaireArticle = value;
RaisePropertyChanged();
}
}
public virtual double PrixTotalArticle
{
get
{
return _prixTotalArticle;
}
set
{
if (_prixTotalArticle == value)
{
return;
}
RaisePropertyChanging();
_prixTotalArticle = value;
RaisePropertyChanged();
}
}
#endregion
}
那么这里有什么问题?你不希望你的绑定工作? –
ItemsFactures内容6个属性,我只希望其中的3个显示在我的dataGrid中,但此时显示所有属性。 – seb
也许你应该看看AutoGenerateColumns属性http://msdn.microsoft.com/fr-fr/library/system.windows.controls.datagrid.autogeneratecolumns(v=vs.110).aspx – AirL