【问题标题】:Setting the Datasource for ComboBoxes in cels in Silverlight DataGrid在 Silverlight DataGrid 的单元格中设置 ComboBox 的数据源
【发布时间】:2010-11-23 23:41:31
【问题描述】:

我有一个网格视图,其中列将其数据绑定到Page_Loaded 中的Datagrid.DataContext

private void Shema_Loaded(object sender, RoutedEventArgs e)
{
    GridName.DataContext = AllPdiLines;
}

我想要一个网格,其中每行中的一个单元格包含一个带有可选值的组合框,然后在选择时绑定到 datagrid 数据源。应该很简单,但是不能为组合框绑定 itemscollection。

xaml 如下所示:

<data:DataGrid x:Name="GridName" 
ItemsSource="{Binding}"                 
AutoGenerateColumns="False"
SelectionMode="Single"
ScrollViewer.VerticalScrollBarVisibility="Auto" 
ScrollViewer.HorizontalScrollBarVisibility="Auto" 
Margin="4">
<data:DataGrid.Columns>
    <data:DataGridTemplateColumn Header="First name">
        <data:DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <TextBox Text="{Binding FirstName,Mode=TwoWay}"/>
            </DataTemplate>
        </data:DataGridTemplateColumn.CellEditingTemplate>
    </data:DataGridTemplateColumn>
    <data:DataGridTemplateColumn Header="LastName" CanUserSort="True">
        <data:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBox Text="{Binding LastName,Mode=TwoWay}"/>
            </DataTemplate>
        </data:DataGridTemplateColumn.CellTemplate>
    </data:DataGridTemplateColumn>
    <data:DataGridTemplateColumn Header="Country">
        <data:DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <ComboBox x:Name="cbxQ" IsEnabled="True"
                    SelectedItem="{Binding Country,Mode=TwoWay}" 
                    ItemsSource="{Binding Countries, Source={StaticResource CountryDataSource}}" 
                    ItemTemplate="{StaticResource CountryListTemplate}"/>
            </DataTemplate>
        </data:DataGridTemplateColumn.CellEditingTemplate>
    </data:DataGridTemplateColumn>                              
</data:DataGrid.Columns>

所以,我为 DataGrid 设置了 DataContext,并且前两列很好地绑定了,但是如何为每行的 ComboBox 中的可选值设置数据源。

问候 Øyvind

【问题讨论】:

  • 您使用的是什么版本的 SL?
  • Country 属性的数据类型是什么?

标签: silverlight datagridview combobox datasource


【解决方案1】:

什么是 CountryDataSource?出于多种原因,您不能将 DomainDataSource 与组合框一起使用。您可以使用组合框扩展包并使用组合框数据源。如果您将其绑定到网格定义中的数据源,它将起作用。

更多细节在这里 - http://blogs.msdn.com/b/kylemc/archive/2010/06/18/combobox-sample-for-ria-services.aspx

【讨论】:

  • 我刚刚意识到这是一个非常古老的问题,但将答案留在这里。
猜你喜欢
  • 2011-02-02
  • 1970-01-01
  • 2012-08-04
  • 2018-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
相关资源
最近更新 更多