Форум программистов, компьютерный форум, киберфорум C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
1

При наведении на ListBox он должен немного увеличиться

17.08.2012, 19:24. Показов 4119. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу сделать одну простую вещь. при наведении на ListBox он должен немного увеличиться, а когда курсор не над ним - нормальное состояние. И не знаю, как это реализовать. чет с тригеррами не получается это сделать..
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2012, 19:24
Ответы с готовыми решениями:

При наведении на картинку должен появляться hover с текстом
Всем привет. Есть галерея,при наведении на картинку должен появляться hover с текстом,должно это...

При наведении курсора на элемент управления он должен быть удален с формы
Разработать программу, динамически порождающую на окне кнопки и поля ввода. Координаты элемента...

Изображение разбито на сегмента с помощью map, при наведении на сегмент он должен потемнеть
Здравствуйте, есть изображение, которое разбито на сегмента с помощью map, при наведении на сегмент...

При наведении курсора на изображение, в поле должен появиться поясняющий текст. html
Пожалуйста,очень прошу помощи. Не судите строго, я плохо разбираюсь в решении подобный задач. Я...

26
64 / 64 / 14
Регистрация: 05.08.2011
Сообщений: 323
Записей в блоге: 5
21.08.2012, 11:28 21
Author24 — интернет-сервис помощи студентам
XMLВыделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<Window x:Class="xxx.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <SolidColorBrush x:Key="ListBorder" Color="#828790"/>
        <Style x:Key="ListBoxStyle1" TargetType="{x:Type ListBox}">
            <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
            <Setter Property="BorderBrush" Value="{StaticResource ListBorder}"/>
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
            <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
            <Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
            <Setter Property="ScrollViewer.PanningMode" Value="Both"/>
            <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListBox}">
                        <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="1" SnapsToDevicePixels="true">
                            <ScrollViewer Focusable="false" Padding="{TemplateBinding Padding}">
                                <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                            </ScrollViewer>
                            <Border.RenderTransform>
                                <ScaleTransform x:Name="transform" />
                            </Border.RenderTransform>
                        </Border>
                                    <ControlTemplate.Triggers>
                            <EventTrigger RoutedEvent="MouseEnter">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="transform" Storyboard.TargetProperty="ScaleX" To="1.2" Duration="0:0:0.5">
                                            <DoubleAnimation.EasingFunction>
                                                <QuinticEase EasingMode="EaseIn" />
                                            </DoubleAnimation.EasingFunction>
                                        </DoubleAnimation>
                                        <DoubleAnimation Storyboard.TargetName="transform" Storyboard.TargetProperty="ScaleY" To="1.2" Duration="0:0:0.5">
                                            <DoubleAnimation.EasingFunction>
                                                <QuinticEase EasingMode="EaseIn" />
                                            </DoubleAnimation.EasingFunction>
                                        </DoubleAnimation>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                            <EventTrigger RoutedEvent="MouseLeave">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetName="transform" Storyboard.TargetProperty="ScaleX" Duration="0:0:0.5" />
                                        <DoubleAnimation Storyboard.TargetName="transform" Storyboard.TargetProperty="ScaleY"  Duration="0:0:0.5" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </ControlTemplate.Triggers> 
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
 
    <Grid x:Name="LayoutRoot">
        <ListBox HorizontalAlignment="Left" Height="122" Margin="59,90,0,0" VerticalAlignment="Top" Width="108" Style="{DynamicResource ListBoxStyle1}"/>
    </Grid>
</Window>
Думаю, разберетесь в коде. При наведении используется плавность анимации. Какие они есть - http://www.professorweb.ru/my/... /15_13.php

Первую строчку только поменяйте когда будете в свой проект вставлять.

Хотя все что я изменил:
1. Добавил свойство для более простого обращения к нему:
XMLВыделить код
1
2
3
                            <Border.RenderTransform>
                                <ScaleTransform x:Name="transform" />
                            </Border.RenderTransform>
2. Изменил триггерную часть кода. Всё.
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
21.08.2012, 11:41  [ТС] 22
так мне надо это ручками в бленде сделать))с кодом то проблем нет..)
0
431 / 432 / 93
Регистрация: 16.07.2012
Сообщений: 886
21.08.2012, 14:25 23
Похоже вручную xaml написать в сто раз быстрее и проще чем с микрософтовским редактором разобраться )))
1
14 / 11 / 0
Регистрация: 30.07.2012
Сообщений: 30
21.08.2012, 20:59 24
Цитата Сообщение от canopen Посмотреть сообщение
Похоже вручную xaml написать в сто раз быстрее и проще чем с микрософтовским редактором разобраться )))
Да там разбираться нечего.
1. В панели "Objects and Timeline" по клику на "+" создается новая анимация (Storyboard).
2. В панели "Triggers > + Event" по клику на "+" эта анимация привязывается к эвенту. Естественно, перед этой привязкой должен быть выбран контрол, к которому эвент привязывается.

Blend сам по себе - очень простая программа, которую можно освоить за выходные. Все сложности начинаются там, где требуется реальное знание XAML и понимание WPF.
1
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
21.08.2012, 22:01  [ТС] 25
uider, да вроде то все просто. Но тут анимацию использовать не получается.. Только свойства.. А там нет плавных переходов..
0
14 / 11 / 0
Регистрация: 30.07.2012
Сообщений: 30
21.08.2012, 22:27 26
Не может такого быть. В WPF анимацию можно впихнуть всюду. На ListBox'ы я ее никогда не навешивал, но вот пример из RadioButton:
XMLВыделить код
1
2
3
4
5
6
7
8
9
10
11
<Trigger Property="IsChecked" Value="True">
   <Trigger.EnterActions>
      <BeginStoryboard x:Name="RadioButtonCheck_BeginStoryboard" Storyboard="{DynamicResource RadioButtonCheck}" />
      <RemoveStoryboard BeginStoryboardName="RadioButtonUncheck_BeginStoryboard" />
   </Trigger.EnterActions>
   <Trigger.ExitActions>
      <BeginStoryboard x:Name="RadioButtonUncheck_BeginStoryboard" Storyboard="{DynamicResource RadioButtonUncheck}" />
      <RemoveStoryboard BeginStoryboardName="RadioButtonCheck_BeginStoryboard" />
   </Trigger.ExitActions>
...
</Trigger>
0
12 / 12 / 0
Регистрация: 03.10.2011
Сообщений: 343
22.08.2012, 14:10  [ТС] 27
uider, я имею ввиду в Blend'е не получается использовать анимацию в данной ситуации..

Добавлено через 15 часов 40 минут
Спасибо всем за терпение. Но ответ найден) Вот по этой ссылке http://www.microsoft.com/expre... aspx?day=1 Пятое видео)
0
22.08.2012, 14:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2012, 14:10
Помогаю со студенческими работами здесь

Выделение строки Listbox при наведении курсора
Всем привет. Подскажите как можно сделать так, чтобы в Listbox, под курсором мыши выделялась...

Выделение строки ListBox при наведении курсора
Добрый вечер. Подскажите как можно сделать так, чтобы в ListBox, под курсором мыши выделялась...

Реакция Items listBox при наведении курсора мышки
Помогите пожалуйста с такой проблемой, нужно чтобы при наведении курсора мыши на итем листбокса он...

При наведении на изображение,изображение должн немного затемнится и + по центру изображения треугольник
Вот допустим у меня 3 картинки: нужно чтоб при наведении на любую из них,затемнялось и картинка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru