現在、選択したアイテムがViewModelのプロパティにバインドされているリストボックスがあります。選択したアイテムがnullでない場合は常に、アニメーションを実行したいと思います。ただし、 「このストーリーボードタイムラインツリーをスレッド間で使用するためにフリーズできません」というエラーが発生し続け、調査から、なぜこれが発生しているのかがわかります。しかし、私は自分が望む行動をとるためにどのようなアプローチを取る必要があるのかわかりません。
<Storyboard x:Key="ShowItemEdit">
<DoubleAnimation
Storyboard.TargetName="lstItemList"
Storyboard.TargetProperty="ListBox.Width"
To="{Binding ActualWidth, ElementName=UserControl}"
Duration="0:0:0.40" />
...
</Storyboard>
<Style x:Key="ListStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem, Converter={StaticResource IsNullConverter}}" Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource ShowItemEdit}" />
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
<ListBox x:Name="lstItemList" Style={StaticResource ListStyle}" SelectedItem="{Binding SelectedItem}">
...
</ListBox>