我正在使用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>
答案 0 :(得分:1)
它应该是直截了当的 - 只需使用DataMemberBinding
指向包含要绑定到的列表的行对象的属性。即:
<gridView:GridViewDataColumn
CellStyle="{StaticResource listStyle}" Header="New Column"
DataMemberBinding="{Binding TheListProperty}" />
(此处假设ItemsSource
的{{1}}类似于RadGridView
,其中IEnumerable<MyModel>
包含您的目标MyModel
。)