У меня есть этот FlipView:Как получить доступ к элементу управления внутри XAML DataTemplate?
<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>
Я хочу найти Img1 выбранного в данный момент индекс. В поисках этого я нашел этот метод на какой-то пост здесь:
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;
}
Это возвращает меня изображение на первом индексе FlipView, но мне нужен один подарок на выбранный в данный момент индекс .. Я пытался изменить этот метод но я не могу найти необходимый контроль. Может кто-нибудь мне помочь?
Это, как правило, неправильный подход. Что именно вы хотите сделать с этим изображением? Обратите внимание, что FlipView виртуализирует своих детей, чтобы изображение даже не существовало. –
@FilipSkakun Я хочу получить координаты экрана этого изображения. Могу ли я сделать это по-другому? – Tehreem
Для чего нужны координаты экрана? –