J'ai certaines données qui ont une table de détail. Je veux que les données soient présentées dans un ListView. Je souhaite que les données détaillées apparaissent sous la forme d'un ListView imbriqué lorsque vous sélectionnez un élément dans la liste d'origine. Je n'arrive pas à comprendre comment faire fonctionner la liaison de données.Liaison de données hiérarchique avec ListViews imbriqués dans WPF
Voici ce que j'ai jusqu'à présent, (le problème est le {Binding Path=FK_History_HistoryItems}
):
<ListView Name="lstHistory" ItemsSource="{Binding Source={StaticResource History}}" SelectionChanged="lstHistory_SelectionChanged">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Header="Name" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding Path=Description}" Header="Description" Width="150" />
<GridViewColumn DisplayMemberBinding="{Binding Path=Total, Converter={StaticResource moneyConvert}}" Header="Total" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding Converter={StaticResource categoryAggregate}}" Header="Categories" Width="100" />
</GridView>
</ListView.View>
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border>
<StackPanel>
<Border Name="presenter"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<GridViewRowPresenter />
</Border>
<Border Name="details" Visibility="Collapsed" Margin="5"
BorderBrush="Black" BorderThickness="2">
<StackPanel Margin="5">
<ListView ItemsSource="{Binding Path=FK_History_HistoryItems}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=Ammount}" Header="Ammount" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding Path=Category}" Header="Category" Width="100" />
</GridView>
</ListView.View>
</ListView>
</StackPanel>
</Border>
</StackPanel>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="details" Property="Visibility" Value="Visible" />
<Setter TargetName="presenter" Property="Background" Value="Navy"/>
<Setter TargetName="presenter" Property="TextElement.Foreground" Value="White" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.Resources>
</ListView>
Quelle sortie obtenez-vous de la liaison ne fonctionne pas? (Et juste pour que vous sachiez, "Montant" a un "m" ...) – Donnelle
Cela fonctionne pour moi avec la même configuration de données que http://stackoverflow.com/questions/350214/wpf-use-a- listbox-in-a-template-that-sera-le-template-of-another-listbox. Quelles sont les données et les sources que vous utilisez? – Donnelle
Compact SQL Server 2008 avec une table Historique et sa table de détail HistoryItems avec une relation FK appelée FK_History_HistoryItems. Cela fonctionnerait avec un TreeView et un HierarcicalDataTemplate, mais cela ne semble pas fonctionner ici. –