Trong Silverlight (và có lẽ WPF), khi tôi xác định một số System.Windows.Interactivity.Behavior<T>
cho ví dụ: một ItemsControl
, nhưGiới hạn hiển thị hành vi Silverlight/WPF
public class SomeAwesomaticBehavior : Behavior<ItemsControl>
{
}
nó sẽ xuất hiện trong trình soạn thảo XAML Visual Studio của (và có lẽ trong thiết kế quá) ngay cả đối với bình thường, không Items-Controls và ném ngoại lệ thời gian chạy khó chịu. Điều này trái với Thuộc tính được đính kèm sẽ chỉ xuất hiện cho các loại dự định.
Có cách nào hạn chế khả năng hiển thị đó không? Một số thuộc tính ma thuật có thể (mặc dù đó sẽ là một tuyên bố dư thừa)?
Nếu không có cách nào ngày hôm nay, tôi hy vọng sẽ có như vậy trong tương lai? Bởi vì nó chắc chắn làm lẫn lộn đồng nghiệp và người thiết kế khi nhiều Hành vi bật lên mà không có liên quan gì đến đối tượng hiện tại.
Cập nhật: Tôi đã gửi các mặt hàng hóa đơn.
Chà, cuối cùng là câu trả lời sau tất cả những năm này, cảm ơn. Tôi đã nghi ngờ rằng không có cách nào. Tôi viết các hành vi tái sử dụng rộng rãi và rất chung chung, nhưng vẫn có một số trường hợp không phải lúc nào cũng có ý nghĩa đối với tất cả các loại 'DependencyObject'. Vì vậy, tôi nghĩ rằng tôi sẽ nộp một yêu cầu tính năng những ngày này. – herzmeister