题
在我的应用程序中,我想在单击它时调整Thumbinal Image的大小,所有图像都在ItemTemplate中,其Source属性绑定到url to picture。
我尝试这样的事情(这是在我的DataTemplate文件中)
<TextBlock>
<Hyperlink TextDecorations="None"
Command="helpers:StatusesCommands.ShowPicture"
CommandParameter="{Binding}">
<Image Source="{Binding Path=FirstPictureUrl}" Margin="5" />
</Hyperlink>
</TextBlock>
但在Command处理程序中我不知道如何获取此图像。 ExecutedRoutedEventArgs上的OriginalSource propoerty设置为HyperLink,Source设置为我的控件。
也许可以将CommangParameter设置为我的嵌套Image,但我不知道该怎么做。你知道如何解决这个问题吗?
解决方案
您正在将命令参数绑定到数据上下文,因此如果正确转换参数,您将可以访问命令参数中的图像路径。
要直接将图像作为命令参数传递,请先命名Image:
<Image x:Name="myImg" Source="{Binding Path=FirstPictureUrl}" Margin="5"/>
将CommandParameter绑定到此图像:
CommandParameter="{Binding ElementName=myImg}"
目前尚不清楚处理此命令的位置。如果您在此XAML的代码后面处理它,您可以命名Image元素并在代码隐藏文件中按名称引用它。但是,通常更好的做法是将您需要的内容作为参数传递给命令。有时命令的处理远离触发命令的位置。
不隶属于 StackOverflow