zoukankan      html  css  js  c++  java
  • Silverlight for windows phone 禁掉了大部分 EventTrigger

    今天上午在搞 EventTrigger的时候,发现,除了Loaded可以用,其余的UIElement.TapEvent等等都不能用了。

    折腾了许久,查阅MSDN,发现:

    In XAML you specify this as a string. In code, pass the identifier (a RoutedEvent value.) The only supported value in Silverlight is Loaded/FrameworkElement.LoadedEvent.

    http://technet.microsoft.com/en-us/library/system.windows.eventtrigger.routedevent(v=vs.95).aspx

    EventTrigger and the object.Triggers property element usage on elements are supported by Silverlight, but using this technique is discouraged for current applications.EventTrigger can only support a triggering action for the Loaded event (you name the event in the EventTrigger.RoutedEvent property.) This makes an EventTrigger unsuitable for most run-time interactions. Instead of using EventTrigger and the Triggers property, consider one of the following two alternatives:

    • For animating properties on objects that are not controls, place the storyboard in the general Resources for a page or application. Then assign an event handler on the element where you would have placed "Triggers". The event handler, when responding to the relevant event, should retrieve the storyboard from the resource dictionary. You then call Begin on the retrieved Storyboard.

    • For animating properties on objects that are controls (derive from Control), use the VisualStateManager technique, and run the appropriate animations based on state of or inputs to the control by calling GoToState.

    http://technet.microsoft.com/en-us/library/system.windows.eventtrigger(v=vs.95).aspx

    悲剧!

    推荐使用VisualState,好吧。

    告别了,

     <StackPanel Margin="0,1,-5,0" Orientation="Horizontal">
                    <CheckBox Content="张三"  FontSize="26" Foreground="White"  x:Name="chk"/>
                    <TextBlock Text="13512312312" VerticalAlignment="Center" FontSize="18" Foreground="Gray" Margin="5,8,0,0" />
                    <StackPanel.Triggers>
                        <EventTrigger RoutedEvent="StackPanel.Loaded">
                            <BeginStoryboard>
                                <Storyboard>
                                    <DoubleAnimation From="26" To="30" Duration="00:00:03" Storyboard.TargetName="chk" Storyboard.TargetProperty="FontSize"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </EventTrigger>
                    </StackPanel.Triggers>
                </StackPanel>

  • 相关阅读:
    BZOJ 2588
    BZOJ 3524
    BZOJ 3932
    Bzoj1013--Jsoi2008球形空间产生器
    Codevs1743--反转卡片
    Bzoj1208--Hnoi2004宠物收养所
    Bzoj1112--Poi2008砖块Klo
    后缀自动机学习笔记
    Bzoj1588--Hnoi2002营业额统计
    Bzoj1056--Haoi2008排名系统
  • 原文地址:https://www.cnblogs.com/xiaokang088/p/2519197.html
Copyright © 2011-2022 走看看