Привязка WPF к свойству usercontrol - PullRequest
1 голос
/ 01 июня 2011

У меня есть usercontrol, у которого есть свойство Результаты . Этот пользовательский контроль должен показать это 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-код для отображения usercontrol:

<controls:ResourcesGridData Results="{Binding Path=ResultsToShow}" />

Я хочу связать свойство ResultsToShow объекта MainViewModel со свойством 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 голосов
/ 01 июня 2011

Хорошо, это очень просто.В моем случае мне не нужны никакие свойства в коде позади usercontrol.

В MainView я просто пишу это:

<controls:ResourcesGridData />

и в usercontrol:

ItemsSource="{Binding ResultsToShow}"

Я напрямую связываюсь со свойством DataContext MainView.

...