Obtenga DataGrid dentro de ItemsControl del elemento enlazado
Tengo un ItemsControl que usa DataGrid en su plantilla de esta manera:
<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>
El ItemsControl está vinculado a unDists
propiedad en mi modelo que se ve así:
ObservableCollection<Dictionary<string, string>> Dists;
¿Cómo puedo obtener el DataGrid que corresponde a un elemento en la propiedad Dists? He intentado con este código, que me da un ContentPresenter pero no sé cómo obtener el DataGrid de él:
var d = Dists[i];
var uiElement = (UIElement)icDistribucion.ItemContainerGenerator.ContainerFromItem(d);
He intentado subir al árbol conVisualHelper.GetParent
pero no pudo encontrar el DataGrid.