如何在UserControl中绑定DataGrid的列属性?

时间:2011-09-29 16:43:15

标签: wpf

我有一个内部有datagrid的用户控件。我希望调用者能够做到这样的事情:

<local:MyControl>
    <local:MyControl.GridColumns>
        <DataGridTextColumn Header="Id" />
    </local:MyControl.GridColumns>
</local:MyControl>

我尝试在我的usercontrol定义中执行类似的操作:

<UserControl ...>
    <DataGrid Columns={Binding GridColumns} />
</UserControl>

我在用户控件中有一个GridColumns属性。它不起作用。

如何正确地做到这一点?

感谢。

1 个答案:

答案 0 :(得分:1)

你不能绑定该属性,因为它不是依赖属性,所以只需转发它:

<DataGrid Name="datagrid" />
public ObservableCollection<DataGridColumn> Columns
{
    get { return datagrid.Columns; }
}