WPF Trigger when property value is greater than a certain amount WPF Trigger when property value is greater than a certain amount wpf wpf

WPF Trigger when property value is greater than a certain amount


You can use a data trigger and set the binding RelativeSource to Self. Data Triggers allow binding and bindings lets you have converters.

Example:

   <Button Content="I change colour depending on my width for some reason">        <Button.Triggers>            <DataTrigger                Binding="{Binding                Path=Width,                RelativeSource={RelativeSource Self},                Converter={StaticResource isLessThanConverter},                ConverterParameter=50}"                Value="True">                <Setter Property="Button.Background" Value="Red" />            DataTrigger>        Button.Triggers>    Button>

Reference


Not without code behind. Usual practice is:

  • When working with UI elements, create an IValueConverter and bind to the property using the converter.
  • When working with bound data, create a bool property on your data and trigger from that property.


Something might have been added in SP1, but the way I've achieved this in the past is with a ValueConvertor that converts the value into a boolean.

In your example your convertor would return true if the value was > 25, false otherwise. If that doesn't make sense I can put an example up :-)