none
想做一个淡入淡出的按钮效果,遇到了“属性Button.Loaded值超出范围”的错误 RRS feed

  • 问题

  • 看MSDN上的帮助,其示例就是直接用的<EventTrigger RoutedEvent="Button.Loaded">
    但我一用,就提示这个错误。
    原文如下:
                    <StackPanel Orientation="Horizontal">
                        <Button x:Name="btnLogin" Width="40" Height="60" FontSize="12" Content="登录">
                            <Button.Triggers>
                                <EventTrigger RoutedEvent="Button.Loaded">
                                    <BeginStoryboard>
                                        <Storyboard>
                                            <DoubleAnimation Storyboard.TargetName="btnLogin" Storyboard.TargetProperty="Opacity"
                                                             From="0" To="1" Duration="0:0:2" BeginTime="0:0:12"></DoubleAnimation>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger>
                            </Button.Triggers>
                        </Button>
                    </StackPanel>
    运行后提示的错误如下:
    网页错误详细信息

    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    时间戳: Tue, 2 Feb 2010 07:10:52 UTC


    消息: Silverlight 应用程序中未处理的错误
    代码: 4004   
    类别: ManagedRuntimeError      
    消息: System.Windows.Markup.XamlParseException: 属性 Button.Loaded 值超出范围。 [Line: 123 Position: 55]
       位于 System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
       位于 invertedImage.MainPage.InitializeComponent()
       位于 invertedImage.MainPage..ctor()
       位于 invertedImage.App.Application_Startup(Object sender, StartupEventArgs e)
       位于 System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
       位于 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)    

    行: 62
    字符: 13
    代码: 0
    URI: http://localhost:3144/invertedImageTestPage.aspx



    看了微软的帮助,一点头绪也找不到。
    不知道这是什么原因造成的,先谢谢大家了。

    2010年2月2日 7:12

答案

  • 將Button換成ContentControl就可以,不知道為什麼。 或許可以試試將button放在ContentControl裏面,然後調用ContentControl的Loaded事件
    2010年2月2日 7:48

全部回复