0

在我的应用程序中,我想在单击时调整缩略图图像的大小,所有图像都在 ItemTemplate 中,其 Source 属性绑定到图片的 url。

我尝试这样的事情(这是在我的 DataTemplate 文件中)

<TextBlock>
   <Hyperlink TextDecorations="None"
               Command="helpers:StatusesCommands.ShowPicture"
               CommandParameter="{Binding}">
                    <Image Source="{Binding Path=FirstPictureUrl}" Margin="5"   />
   </Hyperlink>
</TextBlock>

但是在命令处理程序中,我不知道如何获取此图像。ExecutedRoutedEventArgs 上的 OriginalSource 属性设置为 HyperLink,Source 设置为我的控件。

也许可以将 CommangParameter 设置为我的嵌套图像,但我不知道该怎么做。你知道如何解决这个问题吗?

4

1 回答 1

3

您将命令参数绑定到数据上下文,因此如果您正确转换参数,您将可以访问命令参数中的图像路径。

要直接将图像作为命令参数传递,首先命名图像:

<Image x:Name="myImg" Source="{Binding Path=FirstPictureUrl}" Margin="5"/>

将 CommandParameter 绑定到此图像:

CommandParameter="{Binding ElementName=myImg}"

目前尚不清楚您在哪里处理此命令。如果您在此 XAML 的代码隐藏中处理它,您可以命名 Image 元素并在代码隐藏文件中按名称引用它。但是,将所需的内容作为参数传递给命令通常是更好的做法。有时,在远离触发命令的地方处理命令。

于 2009-06-22T12:03:21.587 回答