用户控件中DataConrid的DataContext

时间:2015-04-09 19:46:35

标签: c# wpf binding user-controls datacontext

我有一个带tabcontrol的主窗口。 添加带有用户控件内容的新tabitem。 在xaml中:

    <Grid><DataGrid  DataContext="{Binding Path=Patients, Mode=TwoWay}">
            <DataGrid.Columns>
            <DataGridTextColumn Header="Id"
                                Width="Auto"
                                Binding="{Binding Id}"/>

在代码背后: 开放背景,

 var query = from pp in context.Patients select pp;
 var Patients = query.ToList();        
 TabItem patientsView = new TabItem(); // adding new tabitem
 StackPanel header = new StackPanel
 header.Children.Add(new TextBlock {Text="Patients"});
 patientsView.Header = header;
 patientsView.Content = new ViewDataPatients{DataContext = Patients};

它拒绝将绑定数据填充到网格中。 知道我在做错了吗?

1 个答案:

答案 0 :(得分:0)

无法理解为什么你需要这样的方法,但仍然如此。您已将UserControl的DataContext设置为Patiense,因此DataGrid同时拥有此数据上下文,请执行以下操作:

<DataGrid DataContext="{Binding}">

但在你的情况下,这是多余的。使用刚设置ItemsSource的数据填充DataGrid:

<DataGrid ItemsSource="{Binding}">

希望这有帮助。

King问候,Nazar