所以我有以下xaml父列表视图以编程方式绑定到集合所有绑定工作都很好,除了数据网格没有填充。我需要采取额外的步骤,还是应该欺骗并将其绑定在后端。
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderBrush="DarkSlateGray" BorderThickness="2">
<StackPanel Orientation="Vertical">
<DockPanel>
<Label TextBlock.FontWeight="ExtraBold" FontSize="14" DockPanel.Dock="Left">Message</Label>
<Label Content="{Binding FriendlyMessageText}"></Label>
</DockPanel>
<DockPanel>
<Label TextBlock.FontWeight="ExtraBold" FontSize="14" DockPanel.Dock="Left">Status</Label>
<Label Content="{Binding Status }"></Label>
</DockPanel>
<DataGrid Height="80" ItemsSource="{Binding AssocatedMessages }">
<DataGrid.Columns>
<DataGridTextColumn Header="Text" Width="*" Binding="{Binding Path=FriendlyMessageText}" >
</DataGridTextColumn>
<DataGridTextColumn Header="Status Code" Binding="{Binding Path=StatusCode}" />
<DataGridTextColumn Header="Entity ID" Binding="{Binding EntityID}" />
<DataGridTextColumn Header="Category Code" Binding="{Binding CategoryCode }" />
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
答案 0 :(得分:1)
如果没有完整的代码知识,这就是黑暗中的一个镜头。当您将DataGrid的ItemsSource设置为AssocatedMessages(它可能是错误的)时,您将所有子项的DataContext设置为AssocatedMessages集合。
因此,如果您绑定到DG列中的FriendlyMessageText(假设它是ListView的数据源中的属性,因为您绑定到DG外的标签中的属性),绑定引擎将无法找到该财产。
要检查是否发生这种情况,请尝试按this post。
中的说明调试绑定我希望这会有所帮助。
谢谢, 达米安
答案 1 :(得分:0)
当我设置父列表框的itemsource时,我没有在父控件上设置数据上下文。