Ich möchte ein Benutzersteuerelement erstellen, das ein Bild anzeigt und beim Klicken einen Befehl aufrufen kann. Später möchte ich eine Liste dieser Steuerelemente an eine Liste von Produkten binden.Erstellen eines anklickbaren Bilds in WPF
Antwort
Versuchen Sie, diese sehr geradlinig Ansatz
<Grid>
<Button Height="50" Width="50">
<Button.Template>
<ControlTemplate>
<Image Source="yourimage.png"/>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
// do smt
}
Es gibt mehrere Möglichkeiten, dies zu tun, aber eine einfache Lösung wäre, eine Schaltfläche zu verwenden (vielleicht den Rahmen und den Hintergrund zu entfernen) und das Bild als Inhalt der Schaltfläche zu verwenden.
Sie können später eine ListBox o.ä. verwenden und die DataTemplate überschreiben, um die Schaltfläche und ein Bild für jedes Produkt zu verwenden.
Nun, nach ein wenig mehr Fummelei, ein einfacher Knopf macht den Job. Hier ist sie:
<Button Command="{Binding Path=DisplayProductCommand}" >
<Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
Dies ist kein anklickbares Bild, das ist eine Schaltfläche mit einem Bild darin. Ich bin verblüfft, dass dies als die akzeptierte Antwort markiert ist. [This] (http://stackoverflow.com/a/21597209/161250) sollte die akzeptierte Antwort sein. – Alex
<Image Name="imageFoo" Source="/AppFoo;component/Foo.png" Width="32" Cursor="Hand" MouseUp="imageFoo_MouseUp"/>
private void imageFoo_MouseUp(object sender, MouseButtonEventArgs e)
{
//Do something
}
ich nicht über euch wissen aber PreviewMouseDown
und TouchUp
arbeitete völlig in Ordnung zusammen mit meiner Bindung:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
Ich verwende VS 2015
- 1. Erstellen eines anklickbaren Einbettungs-Tags
- 2. Verwenden eines XAML-Bilds als WPF-Fensterhintergrund
- 3. Visual Basic: Erstellen eines PNG-Bilds
- 4. Anklickbaren Link erstellen
- 5. Konvertieren eines Bilds in Graustufen
- 6. Erstellen eines Kreises mit anklickbaren Punkten in Android
- 7. WPF: Hinzufügen eines Bilds zu einer ListBox ItemTemplate
- 8. jQuery - Erstellen eines Bilds Toggle für ein Kontrollkästchen
- 9. Wechseln eines Bilds mit jQuery
- 10. Get Pixelwerte eines Bitmap-Bilds in Android
- 11. WPF: Erstellen eines Dialogfelds/Eingabeaufforderung
- 12. WPF - Erstellen eines benutzerdefinierten ItemsControls
- 13. Erstellen eines WPF-Projekts manuell
- 14. Provisioning eines Docker-Bilds mit Küchenchef
- 15. Erstellen eines reversiblen StackPanels in WPF
- 16. Erstellen eines gemeinsamen Fensters in WPF
- 17. Empfehlungen zum Erstellen eines Protokollfensters in WPF
- 18. Positionieren eines Bilds außerhalb seines Containers
- 19. Drehen eines Bilds wird plötzlich umgelegt
- 20. Anzeigen eines Bilds in einer Aktivität mit URI
- 21. Verwenden eines CALayer zum Anzeigen eines Alpha-Mapped-Bilds
- 22. Speichern eines Bilds aus dem WebBrowser-Steuerelement von WPF - wie geht das?
- 23. WPF-Lernprogramm zum Erstellen eines benutzerdefinierten Benutzersteuerelements
- 24. Erstellen eines WPF-ValueConverter für einen Pinsel
- 25. Erstellen eines benutzerdefinierten ScrollViewer mit WPF UserControl
- 26. Erstellen eines PNG-Bilds mit einem Array von Punkten in Java (Immer kommt schwarz)
- 27. Beim Erstellen eines Bitmap-Bilds von Grund auf in VB.Net stinkt die Qualität?
- 28. Erstellen eines Docker-Bilds über das Verfassen von Ergebnissen in ein neues Bild. Warum?
- 29. iOS: Konvertieren eines Bilds in PNG, um Speichern zu ermöglichen
- 30. Auswählen eines verknüpften Bilds mit demselben Attribut in jQuery
Dies war der geradlinigste Ansatz, den ich gesehen habe, ohne alle visuellen Stile für den Button überschreiben zu müssen. – jrandomuser
Ich bin mit diesem Ansatz gegangen, aber die Wiederverwendbarkeit geht aus dem Fenster, da Sie effektiv den Bildnamen hart codieren. Aber es passt zu meinen Bedürfnissen. –
@jrandomuser sehe meine Antwort dann. –