Как я могу обеспечить несколько условий для триггера данных в WPF?

b = random.randint(2, 38)
a = random.randint(1, b - 1)
c = random.randint(b + 1, 39)
return [a, b - a, c - b, 40 - c]

(Я предполагаю, что вы хотели целые числа, так как вы сказали «1-40», но это может быть легко обобщено для чисел с плавающей запятой.)

Вот как это работает:

  • случайным образом разбить общий диапазон на два, то есть b. Странный диапазон - потому что будет как минимум 2 ниже средней точки и как минимум 2 выше. (Это зависит от вашего 1 минимума для каждого значения).
  • разрезать каждый из этих диапазонов в два случайным образом. Опять же, границы должны составлять 1 минимум.
  • возвращает размер каждого среза. Они добавят до 40.
167
задан Dave Clemmer 11 September 2013 в 02:05
поделиться

1 ответ

Используйте MultiDataTrigger тип

<Style TargetType="ListBoxItem">
    <Style.Triggers>
      <DataTrigger Binding="{Binding Path=State}" Value="WA">
        <Setter Property="Foreground" Value="Red" />
      </DataTrigger>    
      <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
          <Condition Binding="{Binding Path=Name}" Value="Portland" />
          <Condition Binding="{Binding Path=State}" Value="OR" />
        </MultiDataTrigger.Conditions>
        <Setter Property="Background" Value="Cyan" />
      </MultiDataTrigger>
    </Style.Triggers>
  </Style>
277
ответ дан 23 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: