Datagrid CanUserAddRows

时间:2014-08-29 11:17:34

标签: c# wpf entity-framework mvvm datagrid

在WPF中使用datagrid从数据库添加数据。 datagrid XAML

<DataGrid ItemsSource="{Binding Children}" CanUserReorderColumns="True" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" HorizontalScrollBarVisibility="Hidden" HorizontalContentAlignment="Center" IsManipulationEnabled="True" AutoGenerateColumns="False" IsReadOnly="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>
        <DataGridTextColumn Header="Middle Name" Binding="{Binding Path=MiddleName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>
        <DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>           
    </DataGrid.Columns>
</DataGrid>

将datagrid绑定到ObservableCollection。目标是添加数据,但是当我启动我的应用程序时,datagrid是空的,没有编辑的机会。

Viewmodel部分。

private ObservableCollection<Other> _children;
    public ObservableCollection<Other> Children
    {
        get { return _children; }
        set
        {
            _children = value;
            OnPropertyChanged("Children");
        }
    }

EDM自动生成课程。

public partial class Other
{
    public int id { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    ...
}

1 个答案:

答案 0 :(得分:0)

  1. 确保您使用public Setter
  2. 将集合设置为Children Collection
  3. 确保您的绑定正确(如果出现问题,您将在Visual Stucio输出中查看详细信息。
  4. 确定您的绑定是否有效请在您的其他课程中实施IProperytyChanged界面