2012-11-21 49 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

謝謝。這解決了我的問題,爲我節省了很多時間。 –