2010-03-15 73 views
2

我已经创作了一些,我想用XAML来创建自定义类:Silverlight 4的XAML集合

<Grid Width="300" Height="300"> 
    <l:DashboardTable> 
     <l:DashboardTable.DashboardTableQuery> 
      <dq:DashboardTableQuery 
       ConnectionString="Data Source=bunkerhill;Initial Catalog=emgov_data;User Id=emgovadmin;[email protected]$$word;" 
       Query="select datename(month, cr_tb_DateDue) AS Month, sum(cr_tb_AmountTransaction) AS Total from cr_tb_transactionbill where Year(cr_tb_DateDue) = 2005 and Month(cr_tb_DateDue) IN (1,2,3,4) group by datename(month, cr_tb_DateDue)" 
       > 
       <dq:DashboardTableQuery.DataColumns> 
        <dq:DataColumn ColumnName="Month" ColumnOrder="0" Label="Month" /> 
        <dq:DataColumn ColumnName="Total" ColumnOrder="1" Label="Total" /> 
       </dq:DashboardTableQuery.DataColumns> 
      </dq:DashboardTableQuery> 
     </l:DashboardTable.DashboardTableQuery> 
    </l:DashboardTable> 
</Grid> 

的问题是,我得到一个XamlParseException当我尝试运行此XAML。我确定它是到达dq:DataColumn元素的时候。似乎这只是当我有一个属性,然后有一个集合,然后在集合中,我得到这个问题的几个项目时发生。

有没有遇到过类似的东西?我尝试以声明方式在XAML中实现这一切。

+0

你能提供关于异常的更多细节吗? DataColumns属性有什么类型? – AnthonyWJones 2010-03-16 08:06:06

回答

1

对于Xaml的工作,我可以想到几件事情。

  • DashboardTableQuery必须创建一个集合的实例,然后将其作为DataColumns属性公开。
  • DataColumns公开的收集类型必须实现IList
+0

感谢您的回复。 DashbboardTableQuery对象上的DataColumns属性具有一个新列表()的字段。我认为这将满足Xaml的两项要求。另外一个警告是对象模型是通过Web引用来自WCF服务的。 – mattduffield 2010-03-16 14:06:31

+0

@mattduffield:如果它确实是一个“字段”,则将其更改为属性。为了让你的xaml工作,它应该是一个只读属性,或者至少是一个拥有初始化集合的Property,可以添加项目。 – AnthonyWJones 2010-03-16 14:12:02

+0

这是一个属性,该字段正在被包装拖欠到一个新的清单()。对困惑感到抱歉。我同意这可能是只读属性。 – mattduffield 2010-03-16 14:20:15

相关问题