显而易见,但我被困在这里..
我想在DataGrid中显示DataGrid,这里是XAML:
<sdk:DataGrid
ItemsSource="{Binding RNPPayPlanLanes}"
RowDetailsVisibilityMode="Visible">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="From region" Binding="{Binding FromRegionKey, Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="To region" Binding="{Binding ToRegionKey, Mode=TwoWay}" />
</sdk:DataGrid.Columns>
<sdk:DataGrid.RowDetailsTemplate>
<DataTemplate>
<sdk:DataGrid
HorizontalAlignment="Right"
ItemsSource="{Binding RNPPayPlanLaneDistances}">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="UpToDistance" Binding="{Binding UpToDistance, Mode=TwoWay}" />
<sdk:DataGridTextColumn Header="PayPerDistanceUnitAmount" Binding="{Binding PayPerDistanceUnitAmount, Mode=TwoWay}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</DataTemplate>
</sdk:DataGrid.RowDetailsTemplate>
</sdk:DataGrid>
MyViewModel包含RNPPayPlanLane
个对象的集合,我看到它们绑定得正确。
VM的伪代码:
class MyViewModel
{
public List<RNPPayPlanLane> RNPPayPlanLanes { get; set; }
}
class RNPPayPlanLane
{
public List<RNPPayPlanLaneDistance> RNPPayPlanLaneDistances { get; set; }
}
class RNPPayPlanLaneDistance {}
RNPPayPlanLane
具有集合属性'RNPPayPlanLaneDistances',我正在尝试将其用于嵌套网格。这不起作用。我收到错误:
System.Windows.Data错误:BindingExpression路径错误: 'MyViewModel'上找不到'RNPPayPlanLaneDistances'属性
因此,它没有绑定到“当前项”,它试图绑定到我的主DataContext。为什么?我做错了什么?
答案 0 :(得分:0)
我使用telerik的分层网格。我需要定义一个层次结构,没有使用RowDetailsTemplate但是你的错误说该属性丢失了,
据我了解
每个 LanesData 都有一个 RNPPayPlanLane 1-1
每个 RNPPayPlanLane 有多个 RNPPayPlanLaneDistances 1-N(主要细节)
好像应该那样,
ItemsSource="{Binding RNPPayPlanLane.RNPPayPlanLaneDistances}">