WPF datagrid新行没有绑定到集合

时间:2014-05-02 22:52:56

标签: wpf binding datagrid observablecollection

这是我的数据网格

 <DataGrid  Name="dgItems"  AutoGenerateColumns="False"  CanUserAddRows="True" ItemsSource="{Binding BillItems}"  >
                        <DataGrid.Columns>
                            <DataGridTemplateColumn>
                            <DataGridTemplateColumn.HeaderTemplate>
                                <DataTemplate>
                                    <Label Content="{DynamicResource itemcodehdr}"></Label>
                                </DataTemplate>
                            </DataGridTemplateColumn.HeaderTemplate> 
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                        <TextBox Text="{Binding Path=ItemCode, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTemplateColumn>
                            <DataGridTemplateColumn.HeaderTemplate>
                                <DataTemplate>
                                    <Label Content="{DynamicResource itemnamehdr}"></Label>
                                </DataTemplate>
                            </DataGridTemplateColumn.HeaderTemplate>
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                        <TextBox Text="{Binding Path=ItemName, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"></TextBox>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        </DataGrid.Columns>
                        <DataGrid.RowStyle>
                            <Style TargetType="{x:Type DataGridRow}">
                               <EventSetter Event="PreviewKeyDown"  Handler="dgItems_PreviewKeyDown"/>
                            </Style>
                        </DataGrid.RowStyle>
                    </DataGrid>

 Private _billItems As ObservableCollection(Of StockAccountPE)
Public Property BillItems() As ObservableCollection(Of StockAccountPE)
    Get
        Return _billItems
    End Get
    Set(ByVal value As ObservableCollection(Of StockAccountPE))
        _billItems = value
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("BillItems"))
    End Set
End Property

首次加载窗口时,我的收藏是空的。 在我完成下面的操作之后,我在网格中找到了一行

  _billItems = New ObservableCollection(Of StockAccountPE)
  _billItems.Add(New StockAccountPE)
_billItems.RemoveAt(0)
 BillItems = _billItems

在网格中输入一些值后,该集合仍为空。基本上,数据网格中的新行未添加到集合中。这是我的第一个问题。

第二个问题是如何在将项添加到集合时引发PropertyChanged事件。现在,当为集合分配一些值时,它会被引发,而不是在它被修改时。

0 个答案:

没有答案