如何將元素的寬度從0移至WPF中的實際寬度?動畫寬度與WPF中的實際寬度?
我嘗試這樣做:
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.3" To="{Binding ElementName=MyElement, Path=ActualWidth}" From="0" Storyboard.TargetProperty="Width" Storyboard.TargetName="MyElement" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
如果我改變結合到硬編碼值,如100
,則寬度被適當動畫,除了我要綁定到該元件的實際寬度。
如果很重要,MyElement
是一個邊框,我將爲選項卡項目設置動畫。
根據記錄,這不工作之一:
To="{Binding RelativeSource={RelativeSource AncestorType={x:Type Border}}, Path=ActualWidth}"
有沒有人得到這個'BindableDoubleAnimation',它位於'ControlTemplate'的'VisualState'中的'Storyboard'內部?對於VisualState中只有一個'BindableDoubleAnimation'並且對「To」值進行硬編碼(比如說「100」)的情況,沒有任何動畫,並且GetCurrentValueCore和CreateInstanceCore都不會被調用。對於我在「To」屬性上使用數據綁定的情況,綁定總是失敗,始終輸出錯誤「Can not find source for binding ...」。即使我逐字逐句嘗試所有內容,也會失敗。 –
...我很想讓這個工作 - 它似乎可能是一個很好的解決方案! –