Ho questo flipview:Come accedere a un controllo all'interno di un DataTemplate XAML?
<FlipView x:Name="models_list" SelectionChanged="selectionChanged">
<FlipView.ItemTemplate>
<DataTemplate>
<Grid x:Name="cv">
<Image x:Name="img1" Source = "{Binding ModelImage}" Stretch="Fill" Tag="{Binding ModelTag}"/>
</Grid>
</DataTemplate>
</FlipView.ItemTemplate>
voglio trovare img1 dell'indice attualmente selezionato. Durante la ricerca di essa ho trovato questo metodo su alcuni post qui:
private DependencyObject FindChildControl<T>(DependencyObject control, string ctrlName)
{
int childNumber = VisualTreeHelper.GetChildrenCount(control);
for (int i = 0; i < childNumber; i++)
{
DependencyObject child = VisualTreeHelper.GetChild(control, i);
FrameworkElement fe = child as FrameworkElement;
// Not a framework element or is null
if (fe == null) return null;
if (child is T && fe.Name== ctrlName)
{
// Found the control so return
return child;
}
else
{
// Not found it - search children
DependencyObject nextLevel = FindChildControl<T>(child, ctrlName);
if (nextLevel != null)
return nextLevel;
}
}
return null;
}
Mi restituisce l'immagine sul primo indice di flipview ma ho bisogno di quello presente sull'indice selezionato .. Ho provato a modificare questo metodo ma non riesco a trovare il controllo richiesto. Qualcuno può aiutarmi?
Questo di solito è l'approccio sbagliato. Che cosa vuoi specificamente fare con quell'immagine? Nota che FlipView virtualizza i suoi figli in modo che l'immagine non possa nemmeno esistere. –
@FilipSkakun Voglio ottenere le coordinate dello schermo di quell'immagine. Posso farlo in altro modo? – Tehreem
Per cosa ti servono le coordinate dello schermo? –