2010-05-09 22 views
11

Làm việc trên một ứng dụng WPF, tôi bắt đầu làm việc trên một tùy chỉnh ControlTemplate. Tôi đạt đến điểm mà tôi cần phải thay đổi một số thuộc tính kiểm soát khi một sự kiện xảy ra.Có cách nào để đặt các yếu tố Setter bên trong EventTrigger không?

Vì mục đích này, có các yếu tố Setter. Dường như tất cả đều tốt, nhưng tôi không thể sử dụng chúng bên trong các yếu tố EventTrigger. Ví dụ, nếu một đơn giản Kích hoạt, có thể bị ràng buộc để kiểm soát các thuộc tính, được sử dụng thì Các yếu tố Setter có thể được sử dụng bên trong. Tuy nhiên, tôi không muốn ràng buộc với một thay đổi tài sản mà là để một sự kiện.

Có cách nào để thực hiện điều này trong XAML thuần túy hoặc tôi sẽ phải làm việc trong mã-đằng sau không?

Trả lời

6

Bạn có thể đặt StoryBoard tại đó và bắt đầu một số ObjectAnimationUsingKeyFrames sẽ "động" các thuộc tính của bạn ngay lập tức đến trạng thái mục tiêu. Nếu thuộc tính của bạn là double hoặc Color - thậm chí tốt hơn: bạn sẽ có thể thực sự chuyển chúng một cách mượt mà bằng cách sử dụng lần lượt DoubleAnimation hoặc ColorAnimation.

Tôi nghĩ rằng đây là một chút quá mức cần thiết, nhưng nếu bạn muốn sử dụng XAML thuần túy, điều này có thể thực hiện được.

+0

Đó chính xác là những gì tôi đang tìm kiếm. Với những sửa đổi nhỏ, tôi có thể thay đổi thuộc tính dựa trên sự kiện được kích hoạt. Chỉ cần đặt thời lượng hoạt ảnh là 0 và KeyTime thành 0 cho DiscreteObjectKeyFrame bên trong ObjectAnimationUsingKeyFrames. –

Các vấn đề liên quan