我有這個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會對其子項進行虛擬化,以便Image可能不存在。 – 2013-05-04 14:37:24
@FilipSkakun我想獲得該圖像的屏幕座標。我能以其他方式做到嗎? – Tehreem 2013-05-04 14:42:24
你需要什麼屏幕座標? – 2013-05-04 16:16:42