Obtain DataGrid in ItemsControl aus dem gebundenen Element
Ich habe ein ItemsControl, das DataGrid in seiner Vorlage wie folgt verwendet:
<ItemsControl Name="icDists" ItemsSource="{Binding Dists}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding}" Width="150" Margin="5" AutoGenerateColumns="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Key" Binding="{Binding Key}" Width="1*" />
<DataGridTextColumn Header="Value" Binding="{Binding Value}" Width="1*" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Das ItemsControl ist an ein @ gebundDists
Eigenschaft in meinem Modell, die so aussieht:
ObservableCollection<Dictionary<string, string>> Dists;
Wie kann ich das DataGrid abrufen, das einem Element in der Dists-Eigenschaft entspricht? Ich habe es mit diesem Code versucht, der mir einen ContentPresenter gibt, aber ich weiß nicht, wie ich das DataGrid daraus erhalten kann:
var d = Dists[i];
var uiElement = (UIElement)icDistribucion.ItemContainerGenerator.ContainerFromItem(d);
Ich habe versucht, den Baum mit @ zu FVisualHelper.GetParent
konnte das DataGrid jedoch nicht finden.