Модераторы: gambit, Kefir, Partizan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mousemove image wpf form 
:(
    Опции темы
larinva
Дата 24.9.2010, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



Всем привет!
Помогите как в wpf реализовать перетаскивание картинки по форме 
PM MAIL   Вверх
CYBERDREAM
Дата 24.9.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



Привет larinva, создай тему еще в WinForms) для кучности  smile 
а по поводу вопроса твоего, то http://vbcity.com/blogs/xtab/archive/2009/...at-runtime.aspx
правда на VB, но не думаю что станет проблемой


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



Привет CYBERDREAM  в запарке сначала написал а потом уж подумал  что не в тот раздел smile 
Цитата

создай тему еще в WinForms) для кучности


Добавлено через 3 минуты и 8 секунд
а вот с этип будут проблемы мнебы на C# если моно smile 
Цитата

правда на VB, но не думаю что станет проблемой 


Это сообщение отредактировал(а) larinva - 24.9.2010, 12:55
PM MAIL   Вверх
CYBERDREAM
Дата 24.9.2010, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28





--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



сп-бо CYBERDREAM буду разбираться smile 
PM MAIL   Вверх
larinva
Дата 24.9.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



CYBERDREAM подскажите как эту строку перевести в C#
Код

If LeftPos < (MainCanvas.ActualWidth - MoveableImage.Width) Then
                MoveableImage.SetValue(Canvas.LeftProperty, LeftPos + 10)

PM MAIL   Вверх
CYBERDREAM
  Дата 24.9.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



Код

If (LeftPos < (MainCanvas.ActualWidth - MoveableImage.Width))
     MoveableImage.SetValue(Canvas.LeftProperty, LeftPos + 10)

по идее нечто вроде) 
в примере что я дал, изображение находится на канве а не на гриде как обычно, вот он и использует его тут)



--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



Пробовал так ругается


Ошибка    3    Оператор "<" не может применяться к операндам типа "object" и "double"    D:\Project\Новая папка\WpfApplication15\WpfApplication15\MainWindow.xaml.cs    34    21    WpfApplication15

PM MAIL   Вверх
CYBERDREAM
Дата 24.9.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



приведи Object к Double, там вроде не депенденси проперти завязано.

Добавлено через 5 минут и 42 секунды
http://www.codeproject.com/KB/WPF/Dragging...tsInCanvas.aspx скачай отсюда проект.


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



а проще что -то есть?
PM MAIL   Вверх
CYBERDREAM
Дата 24.9.2010, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



WinForms? smile 
а вообще не в курсе, передо мной такая задаче не вставала никогда. Разве что в графическом редакторе далал перетаскивание объекта, но это тоже был винформ


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



как это реализуется на finForm я знаю мне нужно на wpf
PM MAIL   Вверх
CYBERDREAM
Дата 24.9.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



на WPF ты тоже уже знаешь, но хочется по проще. Погугли может найдешь что то


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 24.9.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



еслиб гугл дал ответ я бы сюда не писал ))))

Добавлено через 9 минут и 44 секунды
можеть еще кто-то откликнется?
PM MAIL   Вверх
larinva
Дата 24.9.2010, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



сделал вот так 
Код

void img_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
              {
                var img = (Canvas)sender;
                Point point = new Point(e.GetPosition(MainCanvas).X, e.GetPosition(MainCanvas).Y);

                img.Margin = new Thickness(point.X, point.Y, 0, 0);
            }

       }


движение началось но не по всему канву и картинка дергается может кто подправит?
PM MAIL   Вверх
larinva
Дата 24.9.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



переделал вот так
 
Код

        void img_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)

            {
                var img = (Canvas)sender;

                Point point = e.GetPosition(this);
                MainCanvas.ToolTip = "Нажмите левую кнопку для перемещения";
                MainCanvas.Margin = new Thickness(point.X, point.Y, 0, 0);

            }

теперь при быстром перемещение мыши картинка теряется помогите
PM MAIL   Вверх
CYBERDREAM
Дата 25.9.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



так ты получается канву двигаешь а не сам контрол с изображением


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 26.9.2010, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



сделал вот так  smile 
Код

#region Mouse Move
        void myimg_MouseUp(object sender, MouseButtonEventArgs e)
        {
            ((Image)sender).ReleaseMouseCapture();
        }

        void myimg_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                if (((Image)sender).IsMouseCaptured)
                {
                    Point mouseCurrent = e.GetPosition(this);
                    double Left = mouseCurrent.X - canvasLeft;
                    double Top = mouseCurrent.Y - canvasTop;
                    ((Image)sender).SetValue(Canvas.LeftProperty, canvasLeft + Left);
                    ((Image)sender).SetValue(Canvas.TopProperty, canvasTop + Top);
                    canvasLeft = Canvas.GetLeft(((Image)sender));
                    canvasTop = Canvas.GetTop(((Image)sender));
                }
            }
        }

        void myimg_MouseDown(object sender, MouseButtonEventArgs e)
        {
            mouseClick = e.GetPosition(null);
            canvasLeft = Canvas.GetLeft(((Image)sender));
            canvasTop = Canvas.GetTop(((Image)sender));
            ((Image)sender).CaptureMouse();
        }


PM MAIL   Вверх
CYBERDREAM
Дата 26.9.2010, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 3
Всего: 28



маладец  smile 
но может все таки постить будем в одном разделе?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
larinva
Дата 26.9.2010, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



это да прошу прощ-я просто там человек ответил
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.