2010-05-09 13 views
11

Bir WPF uygulaması üzerinde çalışırken, özel bir ControlTemplate üzerinde çalışmaya başladım. Bir olay meydana geldiğinde bazı kontrol özelliklerini değiştirmem gereken noktaya geldim.Setter öğelerini EventTrigger içine yerleştirmenin bir yolu var mı?

Bu amaçla, Setter öğeleri vardır. Her şey iyi görünüyor, ancak bunları EventTrigger öğelerinde kullanamıyorum. Örneğin, bir Tetikleyici Tetikleyici, kontrol özelliklerine bağlanabilirse, Setter öğeleri içinde kullanılabilir. Ancak, bir özellik değişikliğine değil, bir etkinliğe bağlamak istiyorum.

Bunu saf XAML'de yapmanın bir yolu var mı yoksa kod arkasında çalışmak zorunda mıyım?

cevap

6

Bir StoryBoard'u buraya yerleştirebilir ve özelliklerinizi hedef duruma anında "canlandıracak" bir ObjectAnimationUsingKeyFrames başlatabilirsiniz. Mülkleriniz double veya Color ise - daha da iyisi: DoubleAnimation veya ColorAnimation'u kullanarak bunları kolayca geçiş yapabilirsiniz.

Sanırım bu biraz aşırı bir sıkıntı, ama eğer saf XAML kullanmak istiyorsanız, bunu yapmak mümkündür.

+0

Tam olarak aradığım şey buydu. Küçük değişikliklerle, özelliği tetiklenen olaya göre değiştirebildim. Animasyon süresini, ObjectAnimationUsingKeyFrame'ler içindeki DiscreteObjectKeyFrame için 0'a ve KeyTime'a 0 olarak ayarlamanız yeterlidir. –

İlgili konular