亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何訪問XAML DataTemplate中的控件?

如何訪問XAML DataTemplate中的控件?

暮色呼如 2019-09-24 14:31:34
我有這個翻轉視圖:<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的第一個索引上的Image,但我需要當前選擇的索引上存在的圖像。我嘗試編輯此方法,但找不到所需的控件。誰能幫我?
查看完整描述

3 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

獲取對DataTemplate中元素的簡單解決方案是將DataTemplate的內容包裝在UserControl中,在其中您可以訪問ItemsControl項中的所有UI元素。我認為FlipView通常會將其項目虛擬化,因此即使您綁定了100個項目-UI中實際上只有2-3個可能具有當前表示形式(其中1-2個處于隱藏狀態),因此您必須記住當您想要替換任何內容,僅在將項目加載到控件中時才進行更改。


如果確實需要標識代表ItemsSource中項目的項目容器,則可以檢查FlipView的ItemContainerGenerator屬性及其ContainerFromItem()方法。


要獲取項目的坐標,可以使用GetBoundingRect()WinRT XAML Toolkit中的擴展方法。


總體而言,根據您的評論,最好的方法實際上可能完全不同。如果將FlipView綁定到源,通??梢酝ㄟ^更改綁定的源集合項的屬性來控制顯示或覆蓋的圖像。


查看完整回答
反對 回復 2019-09-24
  • 3 回答
  • 0 關注
  • 861 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號