2011-01-05 30 views
11

Tôi có một tài sản được dân cư thông qua ràng buộc. thuộc tính màu sắc được thiết lập giá trị của tài sản màuWPF: ràng buộc, điều kiện tài sản setter

<Rectangle.Fill> 
     <SolidColorBrush Color="{Binding Path=Color}"/> 
</Rectangle.Fill> 

Làm thế nào tôi có thể cấu trúc đó đến có điều kiện ràng buộc như thế:

<Rectangle.Fill> 
      <SolidColorBrush Color="{Binding Path=SomeBooleanProperty ? #FF0000 : #00FF00 }"/> 
    </Rectangle.Fill> 
+1

bạn có thể đặt điều kiện vào bộ thu tài sản và liên kết với thuộc tính thông thường không? – vlad

+0

Có, tôi có thể, nhưng tôi muốn giữ kiểu dáng trong XAML, chứ không phải ở mã-đằng sau –

Trả lời

20

Cảm ơn bạn, @Jackson, mã cuối cùng như sau:

<Style TargetType="Rectangle" x:Key="ColorBySuccess"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding Path=Success}" Value="True"> 
        <Setter Property="Fill" Value="#00FF00"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 
... 
<Rectangle Fill="Green" Style="{StaticResource ColorBySuccess}" .../> 
Các vấn đề liên quan