如何将List <string>绑定到RadGridView DataColumn </string>

时间:2012-11-21 09:54:05

标签: silverlight xaml data-binding gridview telerik

我正在使用Telerik RadControls进行Silverlight,我需要在列中绘制字符串列表。我已将列的cellStyle绑定到样式,并在该样式中添加了ListCellPresenter控件的实例。我的控件使用依赖项属性DataList接收其内部数据。如何将需要绘制的实际数据绑定到GridView,以便可以在ListCellPresenter中访问它?

<Grid x:Name="LayoutRoot">
    <telerik:RadGridView x:Name="gvMain" AutoGenerateColumns="True">
        <telerik:RadGridView.Columns>
            <telerik:GridViewDataColumn Width="200" CellStyle="{StaticResource listStyle}" Header="New Column">
            </telerik:GridViewDataColumn>
        </telerik:RadGridView.Columns>
    </telerik:RadGridView>
</Grid>

这是风格:

<UserControl.Resources>
    <Style TargetType="grid:GridViewCell" x:Key="listStyle">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="grid:GridViewCell">
                    <local:ListCellPresenter DataList="{Binding DataList}"></local:ListCellPresenter>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>

1 个答案:

答案 0 :(得分:1)

它应该是直截了当的 - 只需使用DataMemberBinding指向包含要绑定到的列表的行对象的属性。即:

<gridView:GridViewDataColumn 
    CellStyle="{StaticResource listStyle}" Header="New Column"  
    DataMemberBinding="{Binding TheListProperty}" /> 

(此处假设ItemsSource的{​​{1}}类似于RadGridView,其中IEnumerable<MyModel>包含您的目标MyModel。)