第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何訪問(wèn)XAML DataTemplate中的控件?

如何訪問(wèn)XAML DataTemplate中的控件?

暮色呼如 2019-09-24 14:31:34
我有這個(gè)翻轉(zhuǎn)視圖:<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>我想找到當(dāng)前選定索引的img1。在搜索它時(shí),我在這里的一些帖子中找到了此方法: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的第一個(gè)索引上的Image,但我需要當(dāng)前選擇的索引上存在的圖像。我嘗試編輯此方法,但找不到所需的控件。誰(shuí)能幫我?
查看完整描述

3 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊

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


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


要獲取項(xiàng)目的坐標(biāo),可以使用GetBoundingRect()WinRT XAML Toolkit中的擴(kuò)展方法。


總體而言,根據(jù)您的評(píng)論,最好的方法實(shí)際上可能完全不同。如果將FlipView綁定到源,通常可以通過(guò)更改綁定的源集合項(xiàng)的屬性來(lái)控制顯示或覆蓋的圖像。


查看完整回答
反對(duì) 回復(fù) 2019-09-24
  • 3 回答
  • 0 關(guān)注
  • 834 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)