我想添加一個初始動畫,當項目添加到列表框。 對於這個我使用Layoutstates,通過融合的itemcontainerstyle內部產生:Silverlight佈局狀態前加載 - >後加載過渡只是不工作
<VisualStateGroup x:Name="LayoutStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0:0:0.2"/>
</VisualStateGroup.Transitions>
<VisualState x:Name="AfterLoaded"/>
<VisualState x:Name="BeforeLoaded">
<Storyboard>
<DoubleAnimation Duration="0" To="35" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="grid" d:IsOptimized="True"/>
<DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid" d:IsOptimized="True"/>
</Storyboard>
</VisualState>
<VisualState x:Name="BeforeUnloaded">
<Storyboard>
<DoubleAnimation Duration="0" To="0.85" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="grid" d:IsOptimized="True"/>
<DoubleAnimation Duration="0" To="0.85" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="grid" d:IsOptimized="True"/>
<DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid" d:IsOptimized="True"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
我的列表框看起來是這樣的:
<ListBox Grid.Row="1" ItemsSource="{Binding Days}" x:Name="Days"
HorizontalAlignment="Stretch"
SelectedItem="{Binding CurrentDay, Mode=TwoWay}"
ItemTemplate="{StaticResource TimeRecordByDayItemTemplate}"
ItemsPanel="{StaticResource ByMonthDaysItemsPanelTemplate}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ItemContainerStyle="{StaticResource DayListBoxItemStyle}" />
我只是不明白,即使我只是服從任何動畫一步一步的channel9教程!
這是我的狀態管理員遇到的第一個問題,我也遇到了數據觸發器的問題,當遇到某些條件時,應該進入某個狀態,其中一些有效,一些沒有,但是我的所有綁定都是正確的! 此外,所有動畫都可以在Expression Blend預覽中使用。
我不能讓出了問題,我經常使用Silverlight和動畫在自己的環境中不工作(看這裏channel 9)最簡單的樣本複製了這個...
感謝你幫忙!
我遇到的問題是我在viewmodels構造函數中創建了我的集合,在設置datacontext之前。佈局轉換thingy似乎只能識別列表上的操作,而不是列表屬性本身的更改。在這裏看到更多的細節:http://forums.silverlight.net/p/235377/581822.aspx/1?p=True&t=634480406085452885 –