2009-12-13 94 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的解决方案,要么耸耸肩,并希望能够与之共存,希望下一个版本能够改进(就像他们一样)。