با سلام ...
یک ویو مربوط به ثبت master-detail دارم که گرید مربوط به detail در constructor پر میشه و با زدن دکمه اضافه ایتم ها باید اضافه بشه


/// <summary>
/// Collection of Image.
/// </summary>
ICollectionView _imageCollection;

public ICollectionView ImageCollection
{
get { return _imageCollection; }
set
{
if (value != _imageCollection)
{
_imageCollection = value;
RaisePropertyChanged("ImageCollection");
}
}
}




private List<PurchaseInvoiceDetail> _listDetail = new List<PurchaseInvoiceDetail>();

public PurchaseInvoiceDetailViewModel(PurchaseInvoice item)
{
CustomerCollection = CollectionViewSource.GetDefaultView(_db.Customers. ToList());
GoodsCollection = CollectionViewSource.GetDefaultView(_db.Goods.ToLi st());

AddCommand = new RelayCommand(() =>
{
if (GoodsId != 0 && Price != 0 && Count != 0)
{
var goods = _db.Goods.Find(GoodsId);

_listDetail.Add(new PurchaseInvoiceDetail() { GoodsId = GoodsId, Goods = goods, Count = Count, Price = Price, Id = 0, PurchaseInvoiceId = 0 });
CollectionViewSource.GetDefaultView(_listDetail).R efresh();
ImageCollection = CollectionViewSource.GetDefaultView(_listDetail);
GoodsId = 0;
Price = 0;
Count = 0;
}

});


if (item != null)
{
Number = item.Number;
CustomerId = item.CustomerId;
Date = new PersianDate((DateTime)item.Date);
_purchaseInvoice = item.Id;
_listDetail = _db.PurchaseInvoiceDetails.Include("Goods").Where( m => m.PurchaseInvoiceId == item.Id).ToList();
CollectionViewSource.GetDefaultView(_listDetail).R efresh();
ImageCollection = CollectionViewSource.GetDefaultView(_listDetail);
}




و در ویو


<DataGrid CellStyle="{StaticResource MaterialDesignDataGridCell}" Name="ListView"
IsReadOnly="True" BorderBrush="{DynamicResource MaterialDesignDivider}"
BorderThickness="1" Height="250" Margin="0" AutoGenerateColumns="False"
ItemsSource="{Binding ImageCollection,NotifyOnSourceUpdated=True,Mode=On eWay}"
>
<DataGrid.Columns>

<DataGridTextColumn Header="نام کالا" Binding="{Binding Path=Goods.Name}" Width="300"/>

<DataGridTextColumn Binding="{Binding Path=Count}" Width="150"
Header="تعداد"/>
<DataGridTextColumn Header="قیمت" Binding="{Binding Path=Price}" Width="*"/>
</DataGrid.Columns>
<DataGrid.InputBindings>
<KeyBinding
Key="Delete"
Command="{Binding DeleteCommand}" CommandParameter="{Binding SelectedIndex, ElementName=ListView}"/>

</DataGrid.InputBindings>
</DataGrid>

<Button Command="{Binding AddCommand}" Margin="0 7 3 0"
Content="{materialDesign:PackIcon Plus}"
Width="45" ToolTip="اضافه" />


ولی relay command مربوط به دکمه اضافه اجرا نمیشه!!!