Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在UserControl内绑定WPF数据网格_C#_Wpf_User Controls_Datagrid - Fatal编程技术网

C# 在UserControl内绑定WPF数据网格

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"/> =

我想创建一个包含DataGrid的UserControl,然后直接在我的UserControl中定义列:

<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;