2009-12-13 184 views
2

這裏是我的佈局:填充數據形組合框與DomainDataSource

<StackPanel> 
    <!-- Defining my DDS here wont allow my ComboBox inside the DataTemplate bind to the loaded items --> 
    <DomainDataSource x:Name="ddsValues" Query="MyQuery" DomainContext="{Binding DC}" /> 
    <DataForm> 
     <DataForm.EditTemplate> 
      <DataTemplate> 
       <StackPanel> 
        <!-- Defining my DDS here works fine --> 
        <DomainDataSource x:Name="ddsValues" Query="MyQuery" DomainContext="{Binding DC}" /> 
        <ComboBox ItemsSource="{Binding Data, ElementName=ddsValues}" /> 
       </StackPanel> 
      </DataTemplate> 
     </DataForm.EditTemplate> 
    </DataForm> 
</StackPanel> 

誰能告訴我爲什麼我設置我的DomainDataSource這樣?爲什麼它必須存在於DataTemplate中?有沒有解決的辦法?從技術上講,這意味着每當我更改DataForm中的記錄時,它必須從數據庫中重新裝載值。這些值是靜態的,不會改變。

回答

0

由於SL1,2,3的設計限制,在你已經引用的Dan Wahlin文章中有詳細描述,你必須像這樣設置你的DDS。在SL4中,基礎問題在很大程度上得到了解決,並且大量的這種廢話消失了。與此同時,您要麼使用Wahlin的解決方案,要麼聳聳肩,並希望能夠與之共存,希望下一個版本能夠改進(就像他們一樣)。