Image onclick

  • WPF

Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von Derfuhr.

    Vielen Dank für die Projekt-Datei.

    Wenn ich versuche sie zu öffnen erscheint folgendes:


    Nicht unterstützt
    Für diese Version von Visual Studio sind die folgenden Projekttypen nicht installiert, oder sie werden nicht unterstützt. Sie können diese Projekte jedoch trotzdem in der Version von Visual Studio öffnen, in der sie ursprünglich erstellt wurden.
    - WpfApplication1, "C:\Users\xxx\Documents\Visual Studio 2012\Samples\WpfApplication1\WpfApplication1\WpfApplication1.vbproj"


    Ich nutze VS 2012 Express für Windows Store Apps.
    Eigentlich müsstest du sie starten können, wenn ich eine Mappe aus z.B. VS2008 in VS2010 öffne wird mir immer ein "Konvertier Dialog" angezeigt wo ich einfach auf Fertig stellen klicke dann geht´s. Die 2012er IDE müsste das doch auch können.?

    mfG

    Derfuhr
    Bin mir grad nicht sicher, aber hast du in dem Dialog erst auf weiter... weiter... geklickt oder direkt auf Fertig stellen? Ich klicke immer direkt auf Fertig stellen dann geht´s. Ansonsten musste einfach mal anstatt einer Page ein Window nehmen.

    mfG

    Derfuhr
    Habe das jetzt erst mal anders gelöst: Ein Grid, darin ein Bild. Wenn auf das Grid geklickt wird, wird ein SelectionChanged ausgelöst und schwupps funktionierts.
    Kann man das so machen oder ist das aus irgendeinem Grund nicht gut?

    Die richtige Lösung würde mich allerdings trotzdem weiterhin interessieren.

    XAML:

    Quellcode

    1. <Page
    2. x:Class="Bild_klicken.MainPage"
    3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    5. xmlns:local="using:Bild_klicken"
    6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    7. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    8. mc:Ignorable="d">
    9. <Grid >
    10. <GridView x:Name="grid1" HorizontalAlignment="Left" Margin="320,55,0,0" VerticalAlignment="Top" Width="305" Height="270" SelectionChanged="GridView_SelectionChanged_1" Foreground="{x:Null}">
    11. <GridView.Background>
    12. <ImageBrush/>
    13. </GridView.Background>
    14. <Image x:Name="image1" Height="305" Width="270" Source="Assets/1.png"/>
    15. </GridView>
    16. <TextBox x:Name="text1" HorizontalAlignment="Left" Height="160" Margin="960,135,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="265"/>
    17. </Grid>
    18. </Page>


    VB:

    Quellcode

    1. Private Sub GridView_SelectionChanged_1(sender As Object, e As SelectionChangedEventArgs)
    2. Dim uri As New Uri("ms-appx:///assets/2.png")
    3. Dim bi As New BitmapImage(uri)
    4. image1.Source = bi
    5. End Sub
    Zusätzlich kannste ma solche Events gleich vergessen. In WPF verwendet man Commands und keine Events.


    Ich kann dies zwar noch nicht genauer begründen, aber es wird einen Grund haben. Das mit der Gridview würde ich sofort wieder entfernen. Da du noch ne menge an WPF Grundlagen lernen musst und meinen Code nicht verstehst, hab ich dir ein Beispiel gemacht wo dann zwar ein Eventgenutzt wird, aber der Button hat einfach nur ein Image und den Code müsstest du verstehen können.

    VB.NET-Quellcode

    1. <Grid>
    2. <Button Name="BTN1" Click="BTN1_Click" Background="Transparent">
    3. <Button.Template>
    4. <ControlTemplate>
    5. <Image Source="C:\1.png"></Image>
    6. </ControlTemplate>
    7. </Button.Template>
    8. </Button>
    9. </Grid>


    mfG

    Derfuhr