-
Data: 2013-08-13 11:51:46
Temat: [C#] Problem z Drag and drop w WPF
Od: Paweł <g...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Czesc
Mam problem z prawidłowym użyciem mechanizmu Drag and Drop w swoim
programie. Otóż w kodzie xaml mam:
<ListView Grid.Column="0" Grid.Row="1" Height="200" Margin="2"
Name="lvListaWczytanychPlikowFotek" ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Border BorderBrush="Bisque"
BorderThickness="2" CornerRadius="5" Margin="5">
<Image Margin="5"
Source="{Binding .Foto}" Height="170" Width="150"
MouseLeftButtonDown="DragImage" />
</Border>
<StackPanel>
<TextBlock
Name="tbNazwaPliku" Text="{Binding .NazwaPliku}" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
[...]
<StackPanel Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Margin="5"
Background="Transparent">
<TextBlock>Fotografia 1:</TextBlock>
<Border BorderThickness="2" Margin="2" BorderBrush="Beige">
<Image MinWidth="200" MinHeight="200"
AllowDrop="True" Drop="DropImageFoto" Name="image1foto"
Stretch="UniformToFill"></Image>
</Border>
</StackPanel>
W kodzie zaś, mam klasę:
public class Fotografia
{
public string NazwaPliku { get; set; }
public string SciezkaDoPliku { get; set; }
public ImageSource Foto { get; set; }
public Fotografia()
{
}
public Fotografia(string _nazwaPliku, string
_sciezkaDoPliku, ImageSource _foto)
{
this.NazwaPliku = _nazwaPliku;
this.SciezkaDoPliku = _sciezkaDoPliku;
this.Foto = _foto;
}
}
i obiekt:
public ObservableCollection<Fotografia> listaWczytaneFotki = new
ObservableCollection<Fotografia>();
do którego są pobierane pliki
listaWczytaneFotki.Add(new Fotografia{NazwaPliku =
System.IO.Path.GetFileName(file), SciezkaDoPliku =
System.IO.Path.GetFullPath(file),Foto = (new
ImageSourceConverter()).ConvertFromString(file) as ImageSource });
Teraz chcę móc przeciągać obrazek z kontrolki ListView
(lvListaWczytanychPlikowFotek) na kontrolkę Image(image1foto), tak aby
on się w niej wyświetlił:
private void DragImage(object sender, MouseButtonEventArgs e)
{
Fotografia current =
(Fotografia)lvListaWczytanychPlikowFotek.Items.Curre
ntItem;
ImageSource data = current.Foto;
DragDrop.DoDragDrop(lvListaWczytanychPlikowFotek, data,
DragDropEffects.Copy);
e.Handled = true;
}
private void DropImageFoto(object sender, DragEventArgs e)
{
Fotografia brFoto = e.Data.GetData(typeof(Fotografia)) as
Fotografia;
Image imageControl = new Image() { Width =
image1foto.Width, Height = image1foto.Height, Source = brFoto.Foto };
imageControl.Stretch = Stretch.UniformToFill;
this.image1foto.Source = imageControl.Source;
e.Handled = true;
}
Na chwilę obecną obrazki w ListView się ładnie wyświetlają, w momencie
rozpoczęcia przeciągania wybranej fotografii kursor myszy zmienia
kształt ale nie wykonuje się fragment kodu związany z metodą
DropImageFoto. Co pominąłem, że ten kod nie działa prawidłowo ?
Z góry dzięki za podpowiedź. Pozdrawiam
Następne wpisy z tego wątku
- 13.08.13 17:40 Jacek
- 13.08.13 17:52 Ministerstwo Propagandy
Najnowsze wątki z tej grupy
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
Najnowsze wątki
- 2025-04-09 Czy blokowanie sali obrad Sejmu przez PO-opozycje pod rządami PiS już się przedawniło? [mecenas Giertych dołki kopie?]
- 2025-04-09 Koniec produkcji Leapmotor T03
- 2025-04-09 Pruszków => Specjalista ds. public relations <=
- 2025-04-09 Rzeszów => International Freight Forwarder <=
- 2025-04-09 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-04-09 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-04-09 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-04-09 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-04-09 Warszawa => Senior Product Manager <=
- 2025-04-09 Warszawa => Starszy Konsultant SAP FICO <=
- 2025-04-09 Warszawa => NMS System Administrator <=
- 2025-04-07 C++. Podróż Po Języku - komentarz
- 2025-04-08 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-04-08 Pomnik Polaków w Berlinie - OK! - ale co z ustawą o mniejszości polskiej?
- 2025-04-08 Uniwersytet Jagielloński zawiesza protestujących studentów