私はListboxItemスタイルを含むリストボックスを持っています。私は不透明度を0から1に変更して項目をリストに表示するアニメーションを作成しようとしています。私は、次のコードでこれを行うことができた:ListBoxItemのアニメーションと不透明度
<Style x:Key="ListBoxStyle1" TargetType="ListBox">
<Setter Property="Foreground" Value="#FF393C3F" />
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBox">
<Border Name="Border" Background="{x:Null}" BorderBrush="Black" BorderThickness="0" Padding="0">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ListBoxItemStyle1" TargetType="ListBoxItem">
<Setter Property="Opacity" Value="0" />
<Setter Property="Height" Value="16" />
<Setter Property="VerticalContentAlignment" Value="Bottom" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border" Padding="10,1,0,0" Background="{x:Null}">
<ContentPresenter VerticalAlignment="Center" SnapsToDevicePixels="True" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="{StaticResource arrow}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Foreground" Value="#FF828689" />
</Trigger>
<Trigger Property="IsVisible" Value="true">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.0" To="1.0" Duration="0:0:0.4" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ことから、それは(離れて、私はより多くの時間を開始し、現在および次の項目アニメーションの間を通過したいはずです。しかし、それは不透明度に問題があるようなものが働く
。 。。。可能すべては、透明な背景と、すべてに設定され、私が選択した項目の透明.pngのブラシを使用している
問題は、不透明度のアニメーションであり、下の写真に見られる最高です:
これは、アニメーションの途中のスクリーンショット(リストボックスの不透明度が0.8のとき)であり、すべてのテキストの周りに白い背景がはっきりと表示されます。透明な.pngを使用しているため、最初に選択した項目ではさらに目立ちます。アニメーションが終了し、不透明度が1.0になると、この背景は魔法のように消えてしまいます。
この問題を解決するにはどうすればよいですか?私はおそらく背景を設定することを忘れましたか?
ありがとうございました!
編集:
私は私のリストボックスの宣言を追加してい:
<ListBox Height="239" HorizontalAlignment="Left" Margin="0,0,0,0" Name="listBox1" VerticalAlignment="Top" Width="145" Background="{x:Null}" FontWeight="Black" FontSize="8" BorderBrush="{x:Null}" SnapsToDevicePixels="True" BorderThickness="0" ItemContainerStyle="{StaticResource ListBoxItemStyle1}" Style="{StaticResource ListBoxStyle1}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VerticalAlignment="Top" Background="{x:Null}" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
はまた別の問題は、各listboxitemは、次のいずれかの前に数ミリ秒の遅延で表示されるアニメーションを遅らせる方法?
ありがとうございました。
リストボックスの宣言を追加できますか?私はこのスタイルを私のプログラムの一つに差し込みました。問題はありません。 –
あなたの答えをありがとう、スコット。あなたのリストボックス宣言を追加しました。私はもう少しテストをしましたが、それは絶対にシステムに依存しません。問題は私のアプリまたはWPFです。この問題のアニメーションは必要ありません。 2番目のリストボックス項目は、0または1.0とは異なるスタイルで不透明度が設定され、白い背景でレンダリングされます。バックグラウンド画像のないリストボックス項目さえも。私のポストの画像は、リストボックスの0.8不透明度でレンダリングされます。 – Legoless