Data binding 在silverlight中将行为绑定到datatemplate的datacontext
我有一个数据模板:Data binding 在silverlight中将行为绑定到datatemplate的datacontext,data-binding,silverlight-4.0,datatemplate,behavior,Data Binding,Silverlight 4.0,Datatemplate,Behavior,我有一个数据模板: <Style x:Key="SalesmanDestinyReportListBoxStyle" TargetType="ListBox"> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <
<Style x:Key="SalesmanDestinyReportListBoxStyle" TargetType="ListBox">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<ItemsPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<telerik:RadGridView x:Name="grdSalesmanDestinyReport" Width="180" SelectionMode="Single" IsReadOnly="False" IsFilteringAllowed="True"
VerticalAlignment="Stretch" RowIndicatorVisibility="Collapsed" HorizontalAlignment="Stretch"
CanUserDeleteRows="False" CanUserInsertRows="False" CanUserReorderColumns="False" ItemsSource="{Binding Scores}" AutoGenerateColumns="False">
<i:Interaction.Behaviors>
<Binding:ColumnGroupsBehavior>
<Binding:ColumnGroupsBehavior.CommonHeaders>
<Binding:CommonHeader StartColumnIndex="0" Caption="{Binding Path=DataContext.SalesmanName,ElementName=grdSalesmanDestinyReport}" ColumnSpan="3" />
</Binding:ColumnGroupsBehavior.CommonHeaders>
</Binding:ColumnGroupsBehavior>
</i:Interaction.Behaviors>
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Current}" IsReadOnly="True"
Header="{Binding Current}" Width="60">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Current}">
</TextBlock>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Destiny}" IsReadOnly="True"
Header="{Binding Current}" Width="60">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Destiny}">
</TextBlock>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Best}" IsReadOnly="True"
Header="{Binding Current}" Width="60">
<telerik:GridViewDataColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Best}">
</TextBlock>
</DataTemplate>
</telerik:GridViewDataColumn.CellTemplate>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
下面是一个源类:
public class SalesmanDestinyReport
{
[DataMember]
public List<Score> Scores { get; set; }
[DataMember]
public string SalesmanName { get; set; }
}
公共类SalesmanDestinyReport
{
[数据成员]
公共列表分数{get;set;}
[数据成员]
公共字符串SalesmanName{get;set;}
}
我对这段代码有一个问题:
<i:Interaction.Behaviors>
<Binding:ColumnGroupsBehavior>
<Binding:ColumnGroupsBehavior.CommonHeaders>
<Binding:CommonHeader StartColumnIndex="0" Caption="{Binding Path=DataContext.SalesmanName,ElementName=grdSalesmanDestinyReport}" ColumnSpan="3" />
</Binding:ColumnGroupsBehavior.CommonHeaders>
</Binding:ColumnGroupsBehavior>
</i:Interaction.Behaviors>
问题是我无法将SalesmanName属性传递给
<Binding:CommonHeader StartColumnIndex="0" Caption="{Binding Path=DataContext.SalesmanName,ElementName=grdSalesmanDestinyReport}" ColumnSpan="3" />
我认为没有必要解释什么是CommonHeader,因为我认为问题在于另一个地方,但以防万一:
我需要在绑定声明中更改什么以显示SalesmanName?从头开始-Silverlight 4不支持样式设置器中的绑定(此功能现在在SL5中可用)。对于SL4,有一个解决方法:。从头开始-Silverlight 4不支持样式设置器中的绑定(此功能现在在SL5中可用)。对于SL4,有一个解决方法: