【发布时间】:2011-09-06 04:24:27
【问题描述】:
我有一个用户控件,它有一个属性Results。这个用户控件应该显示这个 ObservableCollection。我认为用户控件的 XAML 代码无关紧要。代码隐藏看起来像这样:
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 代码来显示用户控件:
<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 类型的值,不能在此通用列表中使用。
【问题讨论】:
-
MainViewModel 是这个 UserControl (ResourcesGridData) 的 DataContext,还是实际上与主窗口/父控件相关联?
-
评论对我帮助很大。不知道,MainView的DataContext自动是usercontrol的DataContext
-
那么你的问题解决了吗? :)
-
是的,感谢您的思考! :)
-
请发布答案并接受以将此问题标记为已解决。 (还要弄个英文 Visual Studio,本地化软件很痛苦)
标签: wpf user-controls wpf-controls binding