WPF 按钮点击路由事件

3

当我尝试从XAML执行按钮单击事件时,出现以下错误:

<Button x:Name="myButton" Content="Surface History"                    
                HorizontalAlignment="Right">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <BeginStoryboard>
                        <Storyboard>
                            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="MyText" 
                                                           Storyboard.TargetProperty="Text">
                                <DiscreteObjectKeyFrame KeyTime="0:0:0" Value="Hello" />
                            </ObjectAnimationUsingKeyFrames>

                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Button.Triggers>
        </Button>
        <TextBox Name="MyText" Text="Hi"/>

Text Storyboard.TargetProperty路径包含非可动画属性Text

1个回答

0

Text属性是非可动画依赖属性。在为Text创建依赖属性时,UIMetaData的IsAnimationProhibited属性被设置为true,这会禁止Text属性进行动画。

因此,Text属性无法进行动画。您需要手动从计时器中设置文本以获得此行为。


备选方案是什么?我想通过按钮点击而不需要后台代码,也不使用命令绑定来更改文本。我希望在XAML中完成这个操作。 - Anshu Dutta
这个链接 - http://dotnet.dzone.com/articles/event-based-property-changes - 说这是可能的。我正在使用VS2010。为什么当有多个人证明这是有效的时,我还是会收到错误信息?你有什么想法吗? - Anshu Dutta
不行。虽然其他属性如Background、Margin等都能完美工作,但它不能与Text属性一起使用。我仍在寻找解决方案。目前我还没有找到只使用XAML定义此动画的方法。您可以随时使用代码后台或命令接口来定义它。 - abhishek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接