同じプロパティに同時にアクセスする複数のストーリーボードがあります。 1つのストーリーボードがプロパティを変更した後、もう1つはストーリーボードにアクセスできず、何も変更されません。これに対して何ができますか?1つのプロパティに複数のストーリーボード
サンプル:
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Name="Border" BorderBrush="DarkGray" BorderThickness="1" Margin="3">
<ContentPresenter />
<Border.Background>
<SolidColorBrush />
</Border.Background>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="#3e8bff" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="White" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
<Condition Property="IsSelected" Value="False" />
</MultiTrigger.Conditions>
<MultiTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="Orange" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.EnterActions>
<MultiTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="Border" Storyboard.TargetProperty="Background.Color" To="White" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</MultiTrigger.ExitActions>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.Items>
<sys:String>hey</sys:String>
<sys:String>du</sys:String>
<sys:String>dux</sys:String>
<sys:String>duy</sys:String>
<sys:String>dua</sys:String>
</ListBox.Items>
</ListBox>
これは私が作ることができる最小のサンプルコードです。アイテムを拾った後は、選択されたときに青色に変わらない(1つのアイテムをクリックし、矢印キーを使用してアイテムを選択せずにアイテムを選択しようとする)。
「他の人はアクセス権がなく、何も変更していないようです」というのは正確にはどういう意味ですか?エラーメッセージが表示されますか?特定の予期しない動作? –
具体的には、私はListBoxを持っています。 ItemContainerStyleでは、すべてのListBoxItemのテンプレートを定義します。ここでは、IsMouseOverとIsSelectedを起動し、フェードイン/アウトエフェクトのストーリーボードを定義します。アイテムが握られたら、背景はオレンジ色に変わり、選択されたら青色に変わるはずです。私は1つのアイテムを好きなだけ何回も動かすことができます、それは動作します。しかし、それを選択してもう一度選択を解除すると、ホバー効果はもう働きません。別のプロパティを使用すると、それでも機能します。 – eWolf
トリガーの順番のあるもののようです。 IsSelectedトリガーをIsMouseOverトリガーの前に置いた場合(これはマルチトリガーであり、アイテムIsSelectedのときには発生しません)、これは逆の方法です。アイテムを抱えてからIsSelectedエフェクトが機能しない一度。 – eWolf