0
我正在嘗試使用動畫摺疊/展開網格,並在動畫時移動所有其他組件。展開/摺疊網格
到目前爲止我用
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" Storyboard.TargetName="GridName">
<DiscreteObjectKeyFrame KeyTime="0:0:0.59" Value="0,0,0,0" />
(...more frames)
</ObjectAnimationUsingKeyFrames >
但是效果遠遠可接受(動畫不平滑)。如果新控件有這樣的選項,我是在徘徊?我也遇到了一些擴展/摺疊ListViews - 但它們不適用於包含數據。
編輯:我試着動畫的高度屬性 - 但沒有發生(沒有錯誤和沒有可見的結果)。我的代碼如下:
<Storyboard x:Name="MainImageSlideOut">
<DoubleAnimation Duration="0:0:1" To="0"
Storyboard.TargetProperty="Height"
Storyboard.TargetName="Grid"
EnableDependentAnimation="True"/>
</Storyboard>
<Storyboard x:Name="MainImageSlideIn">
<DoubleAnimation Duration="0:0:1" To="250"
Storyboard.TargetProperty="Height"
Storyboard.TargetName="Grid"
EnableDependentAnimation="True"/>
</Storyboard>
....
<Grid Background="#171717">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid Grid.Row="1"
Height="250"
x:Name="Grid"
Background="#202020" />
<ScrollViewer Grid.Row="2">
...
</ScrollViewer>
</Grid>
Il看起來很完美 - 但在網格下方,我試圖進行動畫處理,還有另一個網格應該採用當前網格的位置。不幸的是,它沒有。兩個網格都位於主網格內,其中第一個爲自動定義,第二個爲*。 –
爲此的一種方法是操縱其中一個網格的高度,然後另一個將自動調整其自身以適合內容,這意味着只有一個動畫而不是2個。網格是否在同一行? – XAMlMAX
否 - 它們是不同的行 –