簡體   English   中英

訪問列表框中的datatemplate元素?

[英]Access datatemplate element in a listbox?

我有一個由列表框中的數據模板生成的圖像控件。 如何通過代碼訪問此圖像? 我嘗試了這個,但是由於我正在開發Metro應用程序,因此無法設置IsSynchronizedWithCurrentItem。

我擁有的xaml是:

    <ListBox x:Name="options_stack" HorizontalAlignment="Left" Margin="198,569,0,33" Width="603" Background="#FF603C74" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Disabled" ScrollViewer.HorizontalScrollMode="Auto" >
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Image x:Name="options_image" Source = "{Binding}" Stretch="Fill" Width="166" MaxHeight="156" MaxWidth="166" MinHeight="156" MinWidth="166" Tapped="apply_image_tapped" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

這將取決於您要通過訪問映像嘗試實現的目標。 您可以將其屬性綁定到視圖模型,並使用視圖模型進行控制。 您也可以將Image放在UserControl中,並在其中處理任何所需的操作。 您可以使用附加行為,也可以使用VisualTreeHelper掃描ListBox的可視樹(盡管這可能很慢)。

我想獲取竊聽圖像的路徑,所以這是我所做的:

    Image tappedImage = new Image();
    tappedImage = e.OriginalSource as Image;
    textbox.Text = tappedImage.DataContext.ToString();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM