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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Комбинация LinearGradientBrush и RadialGradientBru 
:(
    Опции темы
Compositum
  Дата 26.7.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

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



Интересен такой момент: 
Создаю окно:
Код


            Window win = new Window{Title = "Window with Background = LinearGradientBrush"};
            win.Background = new  LinearGradientBrush(Colors.Gray, Colors.Black, 90);            
            win.Show();

Кисть здесь, как видим LinearGradientBrush.

user posted image

Теперь хочу на этом же окне сделать так, чтобы под мышью, при её передвижении был своего рода "фонарик" - кисть RadialGradientBrush.

Для ясности реализовал сие в др. окне с кистью RadialGradientBrush:

user posted image

В этом окне получаю нужное "свечение" позиции курсора за счет такого кода:

Код

        protected override void OnMouseMove(System.Windows.Input.MouseEventArgs e)
        {
            base.OnMouseMove(e);
            double width = ActualWidth - SystemParameters.ResizeFrameVerticalBorderWidth * 2;
            double height = ActualHeight - SystemParameters.ResizeFrameHorizontalBorderHeight * 2 -
                SystemParameters.CaptionHeight;
            point = new Point(e.GetPosition(this).X / width, e.GetPosition(this).Y / height);
            brush.GradientOrigin = point;
            brush.Center = point;
            brush.RadiusX = 0.1;
            brush.RadiusY = 0.1;          
        }


Нужно как-то реализовать некую комбинацию  LinearGradientBrush и RadialGradientBrush на одном и том же окне. Т.е. чтобы в первом окне присутствовал эффект подсвечивания под курсором мыши так, как это сделано во втором окне, но во всём остальном оставалась та самая кисть LinearGradientBrush, показанная на первом скрине.

Такое можно сделать? Если да, то как?

Это сообщение отредактировал(а) Compositum - 26.7.2009, 13:53
PM   Вверх
SamMan
Дата 26.7.2009, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну... организуем "фонарик" в виде UI-элемента Ellipse и таскаем его за мышиным курсором? Однако это, ессесно, не высветит скрытые контролы на первом окне. Однако ясно об этом в условии задачи и не говорится... может и не нада?
PM MAIL   Вверх
Compositum
Дата 26.7.2009, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Senior developer
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 430
Регистрация: 6.1.2008
Где: Санкт-Петербург

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



Цитата(SamMan @ 26.7.2009,  19:08)
может и не нада?

да нет.... как раз таки "нада"...
PM   Вверх
rooks
Дата 27.7.2009, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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


 




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


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

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