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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перемещение по карте Silverlight, как отобразить в мини карте большую? 
:(
    Опции темы
mrLIS
Дата 1.10.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2008
Где: город герой Москв а )

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



Всем приве. Есть некая карта. Есть миникарта, которая служит для навигации. Как в этой мини карте отобразить полную крату?
Для WPF есть TileBrush - свойство, в котором можно указать контрол кот. нужно показывать, а в SV такое не прокатит.... 

И еще небольшой вопрос. Есть Канвас, внутри него Rectangle, как сделать так чтобы при увеличении  Rectangle, его часть которая вышла за пределы Canvas была невидна. 
Спасибо.... )
PM MAIL ICQ   Вверх
mrLIS
Дата 2.10.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 10.9.2008
Где: город герой Москв а )

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



Всем привет.. 
Бьюсь в истерике но не пойму как исправить.. 
Есть Canvas который мы передвигаем мышькой по. 
код такой:
 
Код

private void GridTable_MouseMove(object sender, MouseEventArgs e)
        {
            if (MouseClick)
            {
               // double X = senderObject.Margin.Left;
               // int i = 1;
                double currentX = e.GetPosition(GridTable).X;
                double currentY = e.GetPosition(GridTable).Y;
                Canvas.SetLeft(senderObject, currentX - offsetX);
                Canvas.SetTop(senderObject, currentY - offsetY);
                
            }
        }
        private void CanvasMove_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            senderObject = CanvasMove;
            MouseClick = true;
            senderObject.CaptureMouse();
            offsetX = e.GetPosition(GridTable).X;
            offsetY = e.GetPosition(GridTable).Y;
            int i = 1;
            //Positioning the dragger in such a way that the mouse pointer is at the center of the dragger
            //Canvas.SetLeft(CanvasMove, e.GetPosition(GridTable).X - CanvasMove.Width * .5);
            //Canvas.SetTop(CanvasMove, e.GetPosition(GridTable).Y - CanvasMove.Height * .5);
        }

        private void CanvasMove_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //senderObject = CanvasMove;
            MouseClick = false;
            if (senderObject.CaptureMouse()) senderObject.ReleaseMouseCapture();
        }


Все передвигает нормально. Только гогда я начинаю передвигать CanvasMove он сначала возвращается на свое исходное место. Т.е. в отладчике видно что когда я начинаю передвигать CanvasMowe его Left и Top становяться нулями.  В чем может быть дело?

За ответы буду очень признателен!!!!


PM MAIL ICQ   Вверх
likegift
Дата 21.10.2008, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(mrLIS @ 2.10.2008,  20:55)
Всем привет.. 
Бьюсь в истерике но не пойму как исправить.. 
Есть Canvas который мы передвигаем мышькой по. 
код такой:
 
Код

private void GridTable_MouseMove(object sender, MouseEventArgs e)
        {
            if (MouseClick)
            {
               // double X = senderObject.Margin.Left;
               // int i = 1;
                double currentX = e.GetPosition(GridTable).X;
                double currentY = e.GetPosition(GridTable).Y;
                Canvas.SetLeft(senderObject, currentX - offsetX);
                Canvas.SetTop(senderObject, currentY - offsetY);
                
            }
        }
        private void CanvasMove_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            senderObject = CanvasMove;
            MouseClick = true;
            senderObject.CaptureMouse();
            offsetX = e.GetPosition(GridTable).X;
            offsetY = e.GetPosition(GridTable).Y;
            int i = 1;
            //Positioning the dragger in such a way that the mouse pointer is at the center of the dragger
            //Canvas.SetLeft(CanvasMove, e.GetPosition(GridTable).X - CanvasMove.Width * .5);
            //Canvas.SetTop(CanvasMove, e.GetPosition(GridTable).Y - CanvasMove.Height * .5);
        }

        private void CanvasMove_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //senderObject = CanvasMove;
            MouseClick = false;
            if (senderObject.CaptureMouse()) senderObject.ReleaseMouseCapture();
        }


Все передвигает нормально. Только гогда я начинаю передвигать CanvasMove он сначала возвращается на свое исходное место. Т.е. в отладчике видно что когда я начинаю передвигать CanvasMowe его Left и Top становяться нулями.  В чем может быть дело?

За ответы буду очень признателен!!!!

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


 




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


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

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