私はこの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の最初のインデックスに私の画像を返しますが、私は現在選択されているインデックスに1つの存在を必要とする..私は、このメソッドを編集してみました私は必要なコントロールを見つけることができません。誰でも助けてくれますか?
これは通常、間違ったアプローチです。あなたはそのイメージで何をしたいのですか? FlipViewは、Imageが存在しないように子を仮想化することに注意してください。 –
@FilipSkakunその画像の画面座標を取得します。他の方法でそれをすることはできますか? – Tehreem
画面の座標は何にする必要がありますか? –