2012-05-03 16 views

cevap

8

Tabii, böyle bir şey zaten bir LayoutTransform kümesi varsa EnterActions kullanabilirsiniz, Alternatif

<TextBox> 
    <TextBox.Style> 
     <Style TargetType="TextBox"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" 
          Value="RotateMe"> 
        <Setter Property="LayoutTransform"> 
         <Setter.Value> 
          <RotateTransform Angle="45"/> 
         </Setter.Value> 
        </Setter> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 

çalışmak ve DataTrigger

<TextBox> 
    <TextBox.LayoutTransform> 
     <RotateTransform Angle="0"/> 
    </TextBox.LayoutTransform> 
    <TextBox.Style> 
     <Style TargetType="TextBox"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" 
           Value="RotateMe"> 
        <DataTrigger.EnterActions> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation Duration="0:0:0" 
               To="45" 
               Storyboard.TargetProperty="(LayoutTransform).(RotateTransform.Angle)"/> 
          </Storyboard> 
         </BeginStoryboard> 
        </DataTrigger.EnterActions> 
        <DataTrigger.ExitActions> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation Duration="0:0:0" 
               To="0" 
               Storyboard.TargetProperty="(LayoutTransform).(RotateTransform.Angle)"/> 
          </Storyboard> 
         </BeginStoryboard> 
        </DataTrigger.ExitActions> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 
arasında ExitActions gerekir