Анимация при нажатии - PullRequest
       3

Анимация при нажатии

0 голосов
/ 19 апреля 2011

Я добавил событие MouseLeftButtonUp на холст для захвата события щелчка (или касания). Прямо сейчас, когда щелкнули по холсту, у пользователя нет указания на то, что он щелкнул по нему (это означает, что нажатый эффект отсутствует). Как создать такой эффект при нажатии на холст.

Ответы [ 3 ]

0 голосов
/ 19 апреля 2011

Если у вас установлен инструментарий, вы можете установить enable TiltEffect, установив

toolkit:TiltEffect.IsTiltEnabled="True"

, и тогда вам нужно будет обернуть Canvas элементом управления, скажем, кнопкой.

Я фактически использовал ListBoxItem, чтобы получить эффект наклона.:)

        <ListBoxItem Style="{StaticResource ListBoxItemStyle}">
            <Canvas Margin="{StaticResource PhoneVerticalMargin}" Background="Transparent">
                <Custom:Interaction.Triggers>
                    <Custom:EventTrigger EventName="MouseLeftButtonDown">
                        <ic:NavigateToPageAction TargetPage="/Views/xxxView.xaml" />
                    </Custom:EventTrigger>
                </Custom:Interaction.Triggers>
0 голосов
/ 20 апреля 2011

Вы можете попробовать загрузить этот пример проекта с сайта download.microsoft.com.Он содержит TiltEffect.cs, который вы можете добавить в свой собственный проект, например, в файл .xaml (см. Последнюю строку):

<phone:PhoneApplicationPage 
    x:Class="NavigationTest.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:NavigationTest" 
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True"
    local:TiltEffect.IsTiltEnabled="True">
0 голосов
/ 19 апреля 2011

Для холста это будет сложно. Не могли бы вы вместо этого использовать кнопку? Вы можете поместить содержимое холста в кнопки содержимого. Затем вы можете использовать визуальные состояния кнопки, чтобы указать, когда она нажата.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...