在Silverlight 3中使用DataGrid绑定到DomainDataSource

时间:2010-01-12 15:07:45

标签: silverlight data-binding domaindatasource

使用标记我无法在网格中显示数据:

<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 中的断点不会被命中,不会调用该方法。没有错误,我错过了什么?

如果我在页面加载时编写代码,它会绑定OK。

3 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。我通过改变来解决它:

<riacontrols:DomainDataSource.DataContext>

<riacontrols:DomainDataSource.DomainContext>

答案 1 :(得分:0)

忘了提到模型来自SQL View。我尝试使用表格相同的方法,它工作正常。问题是在视图模型上没有定义正确的键,它设置了大约6个字段作为键,但仍然没有给出唯一值。

最终解决方案是在视图中添加一个字段以用作关键字,重新创建模型,设置主键字段,现在数据正在按预期显示。

答案 2 :(得分:0)

您需要对DomainDataSource用法进行一些调试,以查看它是否正在调用负载。尝试处理LoadingData事件和LoadedData事件以查看发生了什么。

这可能有更多信息在这里有用: http://jeffhandley.com/archive/2009/11/19/domaindatasource-error-handling-again.aspx

您还可以尝试在代码隐藏中调用estimateData.Load()来查看是否有助于解决您的问题。