2010-03-15 53 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