这是我的布局:
<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 上的记录时,它都必须从数据库中重新加载值。这些值是静态的,不会改变。
最佳答案
Deborah Kurata's Silverlight and RIA: Adding a ComboBox to a DataForm帖子描述了如何通过使用静态资源来克服这个问题。我认为Dan Wahlin's Creating a Silverlight DataContext Proxy to Simplify Data Binding in Nested Controls邮政 更详细地描述了根本问题。
关于silverlight - 使用 DomainDataSource 填充 DataForm 中的 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896511/