我有一个usercontrol,其属性为结果。此usercontrol应显示此 ObservableCollection 。我认为用户控件的XAML-Code并不重要。 Code-Behind看起来像这样:
Public Property Results() As ObservableCollection(Of ResultModel)
Get
Return GetValue(ResultsProperty)
End Get
Set(ByVal value As ObservableCollection(Of ResultModel))
SetValue(ResultsProperty, value)
End Set
End Property
Public Shared ReadOnly ResultsProperty As DependencyProperty = _
DependencyProperty.Register("Results", _
GetType(ObservableCollection(Of ResultModel)), GetType(ResourcesGridData), _
New FrameworkPropertyMetadata(Nothing))
在我的MainView.xaml中,我有以下XAML代码来显示usercontrol:
<controls:ResourcesGridData Results="{Binding Path=ResultsToShow}" />
我想将MainViewModel的 ResultsToShow 属性绑定到usercontrol的属性。
但现在我收到以下错误:
System.Windows.Data.BindingExpression ist kein Wert des Typs ASSESS.Data.ResultModel und kann in dieser generischen Auflistung nicht verwendet werden。
我尝试翻译它:
System.Windows.Data.BindingExpression不是ASSESS.Data.ResultModel类型的值,不能在此通用列表中使用。
答案 0 :(得分:0)
好的,这很简单。就我而言,我在usercontrol代码隐藏中不需要任何属性。
在MainView中我只想写一下:
<controls:ResourcesGridData />
并在usercontrol中:
ItemsSource="{Binding ResultsToShow}"
我直接绑定到MainView的DataContext的Property。