2012-11-21 27 views
0

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

<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

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

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

(这里假设RadGridViewItemsSource是一样的东西IEnumerable<MyModel>其中MyModel包含你的目标List<string> TheListProperty

+0

谢谢。这解决了我的问题,为我节省了很多时间。 –