Pergunta

No meu aplicativo, eu quero redimensionar a imagem digital quando clico nele, todas as imagens estão no itemTemplate, onde sua propriedade de origem é vinculada ao URL para a imagem.

Eu tento algo assim (este está no meu arquivo datatemplate)

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

Mas no manipulador de comando, não sei como chegar a essa imagem. A proposição OriginalSource no ExecutredRoutEDeventArgs está definida como HyperLink e a fonte está definida como meu controle.

Talvez seja possível definir o ComangParameter à minha imagem aninhada, mas não sei como fazê -lo. Você tem alguma ideia de como resolver isso?

Foi útil?

Solução

Você está vinculando o parâmetro de comando ao contexto de dados, portanto, terá acesso ao caminho da imagem no parâmetro de comando, se você lançar o parâmetro corretamente.

Para passar a imagem como o parâmetro de comando diretamente, primeiro o nome da imagem:

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

Ligue o comandoparameter a esta imagem:

CommandParameter="{Binding ElementName=myImg}"

Não está claro onde você está lidando com esse comando. Se você estiver lidando com o código por trás deste XAML, poderá nomear o elemento da imagem e consultar o nome no código atrás do arquivo. No entanto, geralmente é uma prática melhor passar o que você precisa para o comando como um parâmetro. Às vezes, o comando é tratado longe de onde o comando é acionado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top