Подтвердить что ты не робот

Триггер WPF, когда значение свойства больше определенной суммы

Я хочу сделать что-то вроде этого:

<ControlTemplate.Triggers>
    <Trigger Property="Width" Value=">25">
       <!-- Set values here -->
    </Trigger>
</ControlTemplate.Triggers>

В любом случае сделать что-то подобное?

4b9b3361

Ответ 1

Вам нужен пользовательский конвертер. Взгляните на статью

Ответ 2

Вы можете использовать триггер данных и установить привязку RelativeSource к себе. Триггеры данных позволяют привязывать и связывание, позволяя вам иметь конвертеры.

Пример:

   <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>

Ссылка

Ответ 3

Не без кода. Обычная практика:

  • При работе с элементами пользовательского интерфейса создайте IValueConverter и привяжите его к свойству с помощью конвертера.
  • При работе со связанными данными создайте свойство bool для своих данных и выполните триггер из этого свойства.

Ответ 4

Что-то могло быть добавлено в SP1, но так, как я это делал в прошлом, это ValueConvertor, который преобразует значение в логическое.

В вашем примере ваш преобразователь вернет true, если значение было > 25, иначе false. Если это не имеет смысла, я могу привести пример вверх: -)