0

我正在为 Silverlight 使用 Telerik RadControls,我需要在一列中绘制字符串列表。我已将列的 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>
4

1 回答 1

1

它应该很简单——只需使用DataMemberBinding指向包含要绑定到的列表的行对象的属性。IE:

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

(假设这里的ItemsSourceof theRadGridView类似于IEnumerable<MyModel>whereMyModel包含您的目标List<string> TheListProperty。)

于 2012-11-21T10:01:12.220 回答