Frage

In meiner App möchte ich das Dhumbumsible -Bild ändern, wenn ich darauf klicke, alle Bilder in itemTemplate, wo die Quelleigenschaft an die URL an das Bild gebunden ist.

Ich versuche so etwas (dies ist in meiner Datentatemplate -Datei)

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

Aber im Befehlshandler weiß ich nicht, wie man zu diesem Bild kommt. Das OriginalSource -Propoerty auf ausgeführten RoutedEventArgs ist auf Hyperlink eingestellt und Quelle ist auf meine Kontrolle eingestellt.

Vielleicht ist es möglich, Commangparameter auf mein verschachteltes Bild zu setzen, aber ich weiß nicht, wie es geht. Haben Sie eine Idee, wie Sie dies lösen können?

War es hilfreich?

Lösung

Sie verbinden den Befehlsparameter an den Datenkontext, sodass Sie im Befehlsparameter zugreifen können, wenn Sie den Parameter korrekt gießen.

Um das Bild als Befehlsparameter direkt zu übergeben, nennen Sie Vorhin das Bild:

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

Binden Sie den Befehlsparameter an dieses Bild:

CommandParameter="{Binding ElementName=myImg}"

Es ist nicht klar, wo Sie diesen Befehl bearbeiten. Wenn Sie es für dieses XAML im Code hinter dem Code bearbeiten, können Sie das Bildelement benennen und im Code hinter der Datei mit Namen verweisen. Es ist jedoch in der Regel besser üblich, das zu übergeben, was Sie als Parameter an den Befehl brauchen. Manchmal wird der Befehl weit entfernt von dem Ort, an dem der Befehl ausgelöst wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top