0

我有一个由列表框中的数据模板生成的图像控件。如何通过代码访问此图像?我尝试了这个,但由于我正在开发 Metro 应用程序,因此无法设置 IsSynchronizedWithCurrentItem。

我拥有的xml是:

    <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>
4

2 回答 2

0

这取决于您通过访问图像要达到的目标。您可以将其属性绑定到视图模型并使用视图模型控制它。您还可以将 Image 放在 UserControl 中并在其中处理您想要的任何内容。您可以使用附加行为,也可以使用 VisualTreeHelper 扫描 ListBox 的可视化树(尽管这可能很慢)。

于 2013-03-22T20:26:29.437 回答
0

我想获取点击图像的路径,所以这就是我所做的:

    Image tappedImage = new Image();
    tappedImage = e.OriginalSource as Image;
    textbox.Text = tappedImage.DataContext.ToString();
于 2013-03-23T05:18:58.320 回答