2013-05-28 16 views
0
觸發

我在代碼中創建幾個ListBox -es,我設置的風格和代碼觸發之後(我不得不因爲每個ListBox是不同的,ListBox的生命週期中的多個屬性發生變化,所以沒有辦法,我可以做在XAML)。分配BitmapEffectProperty在代碼中

我做這種方式,一切工作,只是加入陰影效果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; 
} 

你能幫我明白我在那裏做錯了什麼嗎?

+0

現在,它的作品!我不知道什麼是錯了。如果有人需要它,我在這裏保持它。 –

+0

BitmapEffect已被廢棄,不應該使用。 –

回答

0

我編輯的行

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