-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!goblin3!goblin2!goblin.stu.neva.ru!feeder1.cambriumusenet.
nl!feed.tweaknews.nl!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshos
ting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.n
eostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Tue, 13 Aug 2013 11:51:46 +0200
From: Paweł <g...@o...pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15)
Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
Newsgroups: pl.comp.programming
Subject: [C#] Problem z Drag and drop w WPF
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 105
Message-ID: <520a0145$0$1457$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 46.170.157.70
X-Trace: 1376387397 unt-rea-a-01.news.neostrada.pl 1457 46.170.157.70:54730
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:204350
[ ukryj 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
- 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
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody
- 2024-12-27 Rzeszów => System Architect (background deweloperski w Java) <=
- 2024-12-27 Kraków => Application Security Engineer <=
- 2024-12-27 Gorzów Wielkopolski => Konsultant wdrożeniowy Comarch XL/Optima (Ksi
- 2024-12-27 Wrocław => Solution Architect (Java background) <=
- 2024-12-27 kladka Zagorze
- 2024-12-27 Poznań => Key Account Manager (ERP) <=
- 2024-12-27 Gdańsk => Full Stack .Net Engineer <=
- 2024-12-27 Katowice => Programista Full Stack .Net <=
- 2024-12-27 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-27 Gdańsk => Delphi Programmer <=