我正在设计一个包含数据网格的UserControl。尽管我尽最大努力将数据绑定到ItemsSource
,但数据网格并未显示任何行。
以下是绑定的基本流程:
代码(Xaml和VB.Net):
窗口视图模型,绑定到所有窗口控件:
Public Class WindowVM
...
Public Property UserControlViewModel as New UserControlVM
End Class
Window Xaml:
<local:MyUserControl ViewModel="{Binding UserControlViewModel, Mode=OneWay}"/>
用户控制代码:
Public Shared ReadOnly ViewModelProperty As DependencyProperty = DependencyProperty.Register("ViewModel", GetType(UserControlVM), GetType(MyUserControl), New PropertyMetadata(Nothing))
...
Public Property ViewModel As UserControlVM
Get
Return CType(Me.GetValue(ViewModelProperty), UserControlVM)
End Get
Set(value As UserControlVM)
Me.SetValue(ViewModelProperty, value)
End Set
End Property
....
Public Class UserControlVM
Public Property RunItems As New ObservableCollection(Of RunVM)
End Class
用户控制xaml,datagrid绑定:
<DataGrid DataContext="{Binding ViewModel}"
ItemsSource="{Binding RunItems}" ...
似乎有很多步骤,但据我所知,这是正确的MVVM方式,可以将绑定绑定到DataGrid
。到目前为止,没有。
答案 0 :(得分:0)
看起来我可能已经解决了它。 DataGrid
的{{1}}需要指向DataContext
。
只是一个简单的疏忽:
UserControl