2017-11-25 168 views
0

我得到这个例外,我试图改变TEX enter code here TBOX宽度当鼠标滑过textbox得到一个异常WPF

这是昆明山海棠例外:

不能使用 'System.Windows.Media.Animation.DoubleAnimation'在 'System.Windows.Controls.TextBox'上设置'宽度'属性的动画效果。详情请参阅 内部例外。

<Style TargetType="TextBox"> 
    <Setter Property="BorderBrush" Value="#248FB3" /> 
     <Setter Property="TextWrapping" Value="Wrap"/> 
     <Setter Property="AcceptsReturn" Value="True"/>  
    <Style.Triggers> 
     <Trigger Property="IsMouseOver" Value="true"> 

      <Trigger.EnterActions> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="Width" To="250" > 
         </DoubleAnimation> 
        </Storyboard> 
       </BeginStoryboard> 
      </Trigger.EnterActions> 
      <Trigger.ExitActions> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="Width"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </Trigger.ExitActions> 
     </Trigger> 

     <Trigger Property="IsKeyboardFocusWithin" Value="true"> 
      <Trigger.EnterActions> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="Width" To="250"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </Trigger.EnterActions> 
      <Trigger.ExitActions> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation Duration="0:0:0.2" Storyboard.TargetProperty="Width"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </Trigger.ExitActions> 
     </Trigger> 

    </Style.Triggers> 

</Style> 
+1

你看过内部的异常吗?它可能会有所帮助 - 请提供它。 –

+0

问题在于我必须在动画更改之前设置宽度 – Mosa

回答

0

你必须设置要么WidthTextBox元件上,或者,From财产上DoubleAnimation。当你没有设置时,它会得到默认值Width属性,它是Double.NaN,所以它不知道从哪里开始。

相关问题