如何将行添加到绑定的多列DataGrid(Silverlight 4.0)

时间:2010-11-14 18:36:51

标签: visual-studio-2010 datagrid silverlight-4.0 itemssource

如何使用下面的代码将项目添加到DataGrid

<sdk:DataGrid AutoGenerateColumns="False" Height="294" HorizontalAlignment="Left" Margin="63,27,0,0" Name="Assignments_datagrid" VerticalAlignment="Top" Width="533" IsReadOnly="True" SelectionChanged="Assignments_datagrid_SelectionChanged">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTextColumn Header="Assignment Name" Binding="{Binding Assignment_Name}"/>
                <sdk:DataGridTextColumn Header="Type" Binding="{Binding Type}"/>
                <sdk:DataGridTextColumn Header="Due Date" Binding="{Binding Assignment_Due_Date}"/>
                <sdk:DataGridTextColumn Header="Class Name" Binding="{Binding Course_Name}"/>
            </sdk:DataGrid.Columns>
        </sdk:DataGrid>

1 个答案:

答案 0 :(得分:2)

嗯,我不确定你的问题是什么,但这是我的建议:

  • 确保您的dataGrid的“CanUserAddRows”选项设置为“True”

  • 然后你在底部有一个额外的行。

  • 如果单击该行的rowHeader,则可以添加新行。这会在源集合中添加一个新项目

!!小心为了使这个工作,你必须确保你的源项的类有一个没有参数的构造函数(我在解决这个问题之前遇到了“新行”的问题)

e.g。 :

    Class Item {
        public Assignment_Name { get; set; }
        ...

        public Item() { }

        ...

    }