0
我正在爲按鈕創建一個ControlTemplate。我想動畫大小,以便鼠標懸停在其上時適合內容。不過,我不確定如何獲取觸發器部分的內容大小。這是我的。如何在按鈕模板觸發器中使用內容大小?
<ControlTemplate x:Key="buttonTemplate" TargetType="Button">
<Grid Name="grid" Height="12" Width="12" Opacity="0.4">
<ContentPresenter Name="content" ... />
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="grid"
Storyboard.TargetProperty="Width"
To="40"
Duration="0:0:0.4"/>
<DoubleAnimation
Storyboard.TargetName="grid"
Storyboard.TargetProperty="Height"
To="20"
Duration="0:0:0.4"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="grid"
Storyboard.TargetProperty="Width"
Duration="0:0:0.2"/>
<DoubleAnimation
Storyboard.TargetName="grid"
Storyboard.TargetProperty="Height"
Duration="0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
我已經在發生在觸發To="40"
使用TemplateBinding
試過,但引起的異常。我如何在觸發器中使用動態值?
如果我使用ScaleTransform,我不會有同樣的問題嗎?我不知道如何從Button的內容中獲取最大/最小大小。 – TheSean 2010-07-08 12:30:37
不可以。您目前正在嘗試製作佈局單位的動畫。 Scale按百分比轉換大小以便動畫到全尺寸使用To =「1」。 – 2010-07-08 13:33:34