0

コードでいくつかの -es を作成してListBoxおり、コード ビハインドでスタイルとトリガーを設定しています (それぞれListBoxが異なり、複数のプロパティが の有効期間中に変更されるListBoxため、XAML でそれを行う方法はありません)。 .

私はこの方法でそれを行い、IsMouseOverトリガープロパティにシャドウ効果を追加する以外はすべて機能します。

DropShadowBitmapEffect myDropShadowEffect = new DropShadowBitmapEffect();
myShadowColor.ScA = 1; 
myShadowColor.ScB = 0;
myShadowColor.ScG = 0;
myShadowColor.ScR = 0;
myDropShadowEffect.Color = myShadowColor;
...

Trigger trigger = new Trigger();
trigger.Property = UIElement.IsMouseOverProperty;
trigger.Value = true;
trigger.Setters.Add(new Setter { Property = ListBoxItem.BitmapEffectProperty, Value = myDropShadowEffect });

for (int i = 0; i < myListBox; i++)
{
  var x = new Style();
  //Bunch of Style setters  
  x.Triggers.Add(trigger);

  myListBox[i].ItemContainerStyle = x;
}

私がそこで間違っていることを理解するのを手伝ってもらえますか?

4

1 に答える 1

0

行を編集しました

trigger.Setters.Add(new Setter { Property = ListBoxItem.BitmapEffectProperty, Value = myDropShadowEffect });
于 2013-05-28T21:41:15.707 に答える