2012-10-11 88 views
2

试图从XAMLWPF按钮单击路由事件

<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"/> 

TextStoryboard.TargetProperty路径执行按钮clcik事件时,我收到以下错误包含nonanimatable财产Text

回答

0

Text属性是Non Animatable依赖项属性。在为Text创建依赖属性时,将UIMetaData IsAnimationProhibited属性设置为true,从而禁止Text属性设置动画效果。

所以Text属性不能动画。您需要手动设置来自Timer的文本才能获得此行为。

+0

什么是替代解决方案?我想通过按钮clcik更改文本而无需使用代码,也无需使用命令绑定。我希望在XAML中完成 –

+0

链接 - http://dotnet.dzone.com/articles/event-based-property-changes - 说这是可能的。我正在使用VS2010。为什么我有多个人表示这个​​问题出现这个错误?任何想法 ? –

+0

不是。它不会与Text属性一起工作,而像Background,Margin等其他属性可以完美地工作。我仍在寻找解决方案。截至目前,我无法找到定义此动画的XAML方式。你可以随时使用代码隐藏来定义这个或Command接口。 – abhishek