Привязка к DomainDataSource с помощью DataGrid в Silverlight 3 - PullRequest
1 голос
/ 12 января 2010

Используя разметку, я не могу получить данные для отображения в сетке:

<riacontrols:DomainDataSource x:Name="EstimatesData"  QueryName="GetUserEstimates" >
    <riacontrols:DomainDataSource.DataContext>
        <ds:MyDomainContext  /> 
    </riacontrols:DomainDataSource.DataContext>
</riacontrols:DomainDataSource>
<datagrid:DataGrid x:Name="EstimatesGrid" ItemsSource="{Binding ElementName=EstimatesData, Path=Data}" />

MyDomainContext имеет модель UserEstimates с методом GetUserEstimatesQuery .

Когда страница загружается, точка останова в GetUserEstimatesQuery не получает попадания, метод не вызывается. Нет ошибок, что мне не хватает?

Если я напишу код при загрузке страницы, он будет привязан к ОК.

Ответы [ 3 ]

4 голосов
/ 20 августа 2011

У меня была такая же проблема. Я решил это, изменив:

<riacontrols:DomainDataSource.DataContext>

до

<riacontrols:DomainDataSource.DomainContext>
0 голосов
/ 03 февраля 2010

Вам нужно выполнить некоторую отладку использования вашего DomainDataSource, чтобы увидеть, вызывает ли он нагрузку вообще. Попробуйте обработать событие LoadingData и событие LoadedData, чтобы увидеть, что происходит.

Возможно, здесь есть дополнительная информация: http://jeffhandley.com/archive/2009/11/19/domaindatasource-error-handling-again.aspx

Вы также можете попытаться вызвать функцию valuesData.Load () в своем коде, чтобы узнать, поможет ли это устранить проблему.

0 голосов
/ 13 января 2010

Забыл упомянуть, что модель пришла из SQL View. Я попробовал тот же подход, используя таблицу, и она работала нормально. Проблема заключалась в том, что в модели не было задано правильного ключа, для него было задано около 6 полей, которые по-прежнему не дают уникального значения.

Конечным решением было добавить поле в представление для использования в качестве ключа, заново создать модель, установить поле первичного ключа, и теперь данные отображаются в соответствии с ожиданиями.

...