在我的xaml中我有一个列表框,在这个列表框中我想显示扩展器,如果数据网格被扩展,则显示数据网格。除了绑定数据网格中的选定项外,其他都正常工作。它不会绑定到任何东西。
<ListBox Grid.ColumnSpan="2" Grid.Row="2" ItemsSource="{Binding Reizen}">
<ListBox.ItemTemplate>
<DataTemplate>
<Expander Header="{Binding Naam}" Height="auto" HorizontalAlignment="Left" VerticalAlignment="Center">
<DataGrid x:Name="datagridStores"
ItemsSource="{Binding Onkosten}"
SelectedItem="{Binding GeselecteerdeOnkost, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="False"
IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Bedrag, StringFormat=C, ConverterCulture=nl-BE}" Header="Bedrag"/>
<DataGridTextColumn Binding="{Binding Omschrijving}" Header="Omschrijving"/>
</DataGrid.Columns>
</DataGrid>
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我该怎么做?
我尝试了下面链接中的解决方案,但这对我不起作用。Wpf: How to bind SelectedItem from nested DataGrid
1条答案
按热度按时间wfsdck301#
当你运行它的时候,看看你的项目的输出。我猜有绑定错误。
一种解决方案可以是为所选项目的绑定提供相对源,可以是如下所示:
SelectedItem="{Binding DataContext.GeselecteerdeOnkost, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}, UpdateSourceTrigger=PropertyChanged}"