WPF- TabControl与每个TabItem中的Datagrid

时间:2014-07-28 18:11:54

标签: wpf binding datagrid tabcontrol

我一直在寻找,但没有找到解决办法,所以我去了。

我的Windows中心包含一个UserControl,它将填充我应用程序的常规区域。

我有一个带有多个TabItem的TabControl。在每个TabItem中,我必须显示不同的控件,包括Datagrids。

以下是我的第二个TabItem的示例代码。

<TabItem Header="Suivi" IsSelected="True">
  <Grid Background="#FFE5E5E5" >
    <DataGrid x:Name="dgSuivi" ItemsSource="{Binding Source=Suivi}" >
      <DataGrid.Columns>
      <DataGridTextColumn Header="Suivi" Binding="{Binding COD_NOM }" />
      <DataGridTextColumn Header="Date planifiée" Binding="{Binding DAT_PLAN}" />
      <DataGridTextColumn Header="Date révisée" Binding="{Binding DAT_REVIS}"  />
      <DataGridTextColumn Header="Date réelle" Binding="{Binding DAT_REEL}" />
    </DataGrid.Columns>
  </DataGrid>
 </Grid>
</TabItem>

我的代码背后有一个名为Suivi的填充属性

Public Property Suivi As ObservableCollection(Of MyType)

和MyType是以下类:

Public Class MyType

 Property COD_NOM as String

 Property DAT_PLAN as DateTime

 Property DAT_REVIS as DateTime

 Property DAT_REEL as DateTime

 Public Sub New()

  COD_NOM_DAT = Nothing
  DAT_PLAN = New System.DateTime(9999, 1, 1)
  DAT_REVIS = New System.DateTime(9999, 1, 1)
  DAT_REEL = New System.DateTime(9999, 1, 1)

 End Sub

End Class

当我更改为第二个TabItem(Suivi)时,数据网格用空行填充。

我一直在寻找解决这个问题,但我想我在这里错过了一个概念。 我的装订是否正确?

1 个答案:

答案 0 :(得分:0)

感谢您的评论!这让我想到,是什么让第一个工作?我确信这是我对我的可观察收藏品的约束,但我错了。

我缺少的是ItemsSource的分配......     Suivi = New ObservableCollection(Of MyType)(MyList)     dgSuivi.ItemsSource = Suivi

现在确实有用......

谢谢,我希望这对其他人有用。