2009-06-22 7 views
0

내 앱에서 클릭하면 축소 이미지를 크기 조정하려고합니다. 모든 이미지는 원본 속성이 그림에 대한 URL에 바인딩되는 ItemTemplate에 있습니다.WPF 하이퍼 링크 이미지

나는이 같은 (이 내 DataTemplate을 파일에)

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

을 시도하지만 명령 처리기에서 나는이 이미지에 도착하는 방법을 모르겠어요. ExecutedRoutedEventArgs의 OriginalSource propoert가 HyperLink로 설정되고 Source가 내 컨트롤로 설정됩니다.

아마도 내 중첩 된 이미지로 CommangParameter를 설정할 수는 있지만 어떻게 해야할지 모르겠습니다. 이 문제를 해결하는 방법을 알고 있습니까?

답변

3

명령 매개 변수를 데이터 컨텍스트에 바인딩하므로 매개 변수를 올바르게 캐스팅 한 경우 명령 매개 변수의 이미지 경로에 액세스 할 수 있습니다.

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

바인딩이 이미지에 CommandParameter :

먼저 이미지의 이름을 직접 명령 매개 변수로 이미지를 전달하려면이 명령을 처리하는 곳

CommandParameter="{Binding ElementName=myImg}" 

그것은하지 분명하다. 이 XAML의 코드에서 처리하는 경우 Image 요소의 이름을 지정하고 코드 숨김 파일에서 이름을 참조 할 수 있습니다. 그러나 일반적으로 매개 변수로 명령에 필요한 것을 전달하는 것이 좋습니다. 때때로 명령은 명령이 실행되는 곳에서 멀리 떨어져서 처리됩니다.

+0

고마워요 :) – ksopyla