2009-05-06 21 views
10

Mỗi lần tôi viết ra một setter mà Value giá trị tài sản là không thể diễn tả nội tuyến, tôi nguyền rủa một thực tế rằng API không đánh dấu sự lớp Setter với [ContentProperty("Value")], mà sẽ cho phép điều này:Có lý do chính đáng nào để Setter.Value không phải là ContentProperty không?

<Setter Property="BitmapEffect"> 
    <Setter.Value> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
    </Setter.Value> 
</Setter> 

.. .để được đơn giản hóa cho điều này:

<Setter Property="BitmapEffect"> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
</Setter> 

Vì vậy, câu hỏi của tôi là kinda gấp đôi. Thứ nhất, có lý do chính đáng nào để API không được định cấu hình theo cách này không? Thứ hai, có bất cứ điều gì ngăn cản việc tạo siêu dữ liệu này cho XamlReader bằng cách nào đó, mặc dù tôi không kiểm soát API WPF không?

+1

Điểm tốt với ContentProperty! 1up – Stimul8d

Trả lời

2

Điểm tốt thực sự ... Nhưng bạn có thể dễ dàng tạo lớp Setter của riêng bạn được kế thừa từ System.Windows.Setter, đặt thuộc tính ContentProperty vào nó và sử dụng nó thay cho Setter chuẩn.

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