【发布时间】:2014-05-19 22:58:23
【问题描述】:
我已经搜索了之前提出的各种有关此问题的问题,但似乎没有一个能完全解决我的问题。我的 wpf 应用程序中有一个数据网格。这是xml:
<Window x:Class="MainWindow"
...
DataContext="{Binding RelativeSource={RelativeSource Self}}">
...
<DataGrid
Name="ReportGrid"
AutoGenerateColumns="False"
CanUserAddRows="True"
IntemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Binding="{Binding Path=CreateDate}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
</DataGrid.Columns>
</DataGrid>
在我的项目中,我有这个类:
Public Class NameData
Private _CreateDate() As String
Public Property CreateDate() As String
Get
Return _CreateDate
End Get
Set(ByVal value as String)
_CreateDate = value
End Set
End Property
Private _Name As String
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value as String)
_Name = value
End Set
End Property
End Class
在主窗口的代码中:
Private ReportList As New List(Of NameData)
我已经多次通过代码完成这样的绑定,但我决定是时候学会通过 xml 进行绑定了。当应用程序运行时,即使我将项目添加到列表中,我的数据网格中也没有任何内容。
有什么建议吗?
【问题讨论】:
-
根据您目前发布的内容,绑定引擎无法找到您的列表,因为它是私有的。此外,还不清楚窗口的上下文设置在哪里。您还需要发布该代码。有了这个,我可以在 c# 中给出一些想法,但不是 vb。
-
@GayotFow
DataContext已设置为窗口的代码隐藏:DataContext="{Binding RelativeSource={RelativeSource Self}}" -
@GayotFow 我尝试公开报告列表并将其设置为属性。 har07 关于我如何设置数据上下文是正确的。如果您对 C# 有想法,请继续拍摄。我不经常使用它,但我对它和我可以翻译它的 .net 环境足够熟悉。如果有什么问题,我会用你建议的任何 VB 版本来修改我的问题。
标签: wpf vb.net binding datagrid