C# 在UserControl内绑定WPF数据网格
我想创建一个包含DataGrid的UserControl,然后直接在我的UserControl中定义列:C# 在UserControl内绑定WPF数据网格,c#,wpf,user-controls,datagrid,C#,Wpf,User Controls,Datagrid,我想创建一个包含DataGrid的UserControl,然后直接在我的UserControl中定义列: <my:ControlContainingDataGrid ItemsSource="{Binding}"> <my:ControlContainingDataGrid.Columns> <DataGridTextColumn Binding="{Binding Path=Property1}" Header="Property 1"/> =
<my:ControlContainingDataGrid ItemsSource="{Binding}">
<my:ControlContainingDataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Property1}" Header="Property 1"/>
=>它不起作用:显示标题,但我的DataGrid的每一行都是空的(绑定错误?)
1-通过XAML部分中的UserControl绑定DataGrid列的最简单方法是什么
2-通过UserControl编程绑定DataGrid列的最简单方法是什么?我是通过编程实现的。与您的代码几乎相同。很好。我从未尝试过绑定Columns集合本身,尽管我不明白为什么这样做不起作用 你的信息有点模棱两可。如果您的意思是说您的列没有显示,那么您可能需要在创建表之前添加列。如果行在列中显示为空值,则绑定“Property1”是错误的
我不在XAML中工作,所以对此一无所知。我是通过编程实现的。与您的代码几乎相同。很好。我从未尝试过绑定Columns集合本身,尽管我不明白为什么这样做不起作用 你的信息有点模棱两可。如果您的意思是说您的列没有显示,那么您可能需要在创建表之前添加列。如果行在列中显示为空值,则绑定“Property1”是错误的
我不在XAML中工作,所以对此一无所知。您可以发布UserControl的XAML吗?您可以发布UserControl的XAML吗?
static ControlContainingDataGrid()
{
ColumnsProperty = DependencyProperty.Register(
"Columns",
typeof(ObservableCollection<DataGridColumn>),
typeof(ControlContainingDataGrid),
new UIPropertyMetadata(new ObservableCollection<DataGridColumn>())
);
}
[Description("Columns"), Category("Columns")]
public ObservableCollection<DataGridColumn> Columns
{
get { return _datagGrid.Columns; }
}
public static readonly DependencyProperty ColumnsProperty;
_datagGrid.Columns.Add(new DataGridTextColumn {
Header = "Property 1",
Binding = new Binding {
Path = new PropertyPath("Property1"),
Mode = BindingMode.TwoWay,
},
});
_datagGrid.ItemsSource = testList;