2011-07-09 31 views
5

Tôi muốn thiết lập sự kiện để chạy khi khả năng hiển thị được thay đổi trên điều khiển WPF Canvas.WPF canvas VisibilityThay đổi sự kiện

Tôi đã thử ở trên nhưng không làm việc với bất kỳ ai biết cách thực hiện?

Cheers

+1

It's 'VisibleChanged', not 'VisibileChanged'. Đó có phải là lỗi đánh máy trong mã của bạn hay trong câu hỏi không? – keyboardP

+0

Nếu nó nằm trong đoạn mã, tôi tưởng tượng trình biên dịch sẽ nhận thấy (giả sử OP đã cố gắng biên dịch ít nhất một lần. Mặc dù nói "điều này không làm việc" ngụ ý rằng nó được biên dịch * và * chạy.) – dlev

+0

Đúng vậy, nhưng Tôi đã nhìn thấy câu hỏi mà "điều này không làm việc" đề cập đến biên dịch thất bại. – keyboardP

Trả lời

19

UIElement.IsVisibleChanged

Bạn đang tìm kiếm sự kiện IsVisibleChanged, áp dụng cho TẤT CẢ UIElements.


Thông tin khác: IsVisible là thuộc tính phụ thuộc chỉ đọc. Đó là một giá trị được tính toán và Thuộc tính phụ thuộc mức độ hiển thị ảnh hưởng đến nó. Đây là những gì bạn nên sử dụng để phát hiện nếu bạn đang UIElement có thể nhìn thấy hay không. Bây giờ, nếu bạn thực sự thực sự muốn kiểm tra mức độ hiển thị DP thay đổi vì bất kỳ lý do nào có cách làm như vậy: http://agsmith.wordpress.com/2008/04/07/propertydescriptor-addvaluechanged-alternative/

Mặc dù, tôi vẫn chỉ theo dõi IsVisibleChanged.

2

Các bình thường đối tượng WPF Canvas không có một sự kiện .VisibleChanged, vì vậy bạn không thể gán một event handler với nó.

+0

Bất kỳ UIElement nào đều có sự kiện kích hoạt khi khả năng hiển thị thay đổi. –

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