【发布时间】:2015-07-20 23:28:46
【问题描述】:
我在 2-3 处有此代码,常见的是样式除了绑定路径“BidMovement”需要在其他地方更改(“AskMovement”、“StaleMovement”)。 这是否可以在 WPF 中定义样式并在实际使用时更改某些元素(绑定路径)?
<Border Name="BidBorder" Grid.Column="0" Padding="5" Margin="5" CornerRadius="10">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Style.Triggers>
<DataTrigger Binding="{Binding BidMovement}" Value="{x:Static crosses:PriceMovement.Up}">
<Setter Property="Background" Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding BidMovement}" Value="{x:Static crosses:PriceMovement.Down}">
<Setter Property="Background" Value="OrangeRed" />
</DataTrigger>
<DataTrigger Binding="{Binding BidMovement}" Value="{x:Static crosses:PriceMovement.Stale}">
<Setter Property="Background" Value="DarkOrange" />
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
【问题讨论】:
-
我将创建一个带有 MovementType DP 的 UserControl,该 DP 在其回调函数中更改背景。然后你只需要像这样使用它:
而不是每次都输入完整的样式。