Guten Morgen
Ich versuche gerade Dateinamen aus dem Windows Explorer auf ein
Hab folgenden Code gefunden, der auch funktioniert, aber die Prozedur
Hört sich erstmal nach redundante Instanzen an, aber ich hab in meinem Projekt sonst nix, nur das hier in der MainWindow.xaml:
Und dann das in der MainWindow.xaml.vb:
Weiss jemand vielleicht woran das liegen kann?
Auch funktioniert das Ziehen zwar vom Windows Explorer, aber nicht vom Desktop...
Ich versuche gerade Dateinamen aus dem Windows Explorer auf ein
Image
ziehen zu können.Hab folgenden Code gefunden, der auch funktioniert, aber die Prozedur
MeinLogo_Drop
wird immer zwei Mal aufgerufen, wenn ich Dateien auf das Image
droppe...Hört sich erstmal nach redundante Instanzen an, aber ich hab in meinem Projekt sonst nix, nur das hier in der MainWindow.xaml:
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewmodel="clr-namespace:ExplorerDragNDropTest.ViewModel;assembly=ExplorerDragNDropTest.ViewModel"
- mc:Ignorable="d"
- Title="MainWindow" Height="450" Width="800">
- <Grid>
- <Image Name="MeinLogo" Source="C:\Test.jpeg" Width="150" Height="150" AllowDrop="True" Drop="MeinLogo_Drop" DragOver="MeinLogo_DragOver"/>
- </Grid>
- </Window>
Und dann das in der MainWindow.xaml.vb:
VB.NET-Quellcode
- Class MainWindow
- Public Sub New()
- ' Dieser Aufruf ist für den Designer erforderlich.
- InitializeComponent()
- ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
- MeinLogo.AddHandler(MeinLogo.DragOverEvent, New DragEventHandler(AddressOf MeinLogo_DragOver), True)
- MeinLogo.AddHandler(MeinLogo.DropEvent, New DragEventHandler(AddressOf MeinLogo_Drop), True)
- End Sub
- Private Sub MeinLogo_DragOver(sender As Object, e As DragEventArgs)
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- e.Effects = DragDropEffects.All
- Else
- e.Effects = DragDropEffects.None
- End If
- e.Handled = False
- End Sub
- Private Sub MeinLogo_Drop(sender As Object, e As DragEventArgs)
- Debug.WriteLine("Dateien gedroppt!")
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim docPath As String() = TryCast(e.Data.GetData(DataFormats.FileDrop), String())
- For Each DateiName In docPath
- Debug.WriteLine(DateiName)
- Next
- End Sub
- End Class
Weiss jemand vielleicht woran das liegen kann?
Auch funktioniert das Ziehen zwar vom Windows Explorer, aber nicht vom Desktop...