WPF绑定到usercontrol的属性

时间:2011-06-01 10:29:48

标签: wpf user-controls wpf-controls binding

我有一个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类型的值,不能在此通用列表中使用。

1 个答案:

答案 0 :(得分:0)

好的,这很简单。就我而言,我在usercontrol代码隐藏中不需要任何属性。

在MainView中我只想写一下:

<controls:ResourcesGridData />

并在usercontrol中:

ItemsSource="{Binding ResultsToShow}"

我直接绑定到MainView的DataContext的Property。