2009-07-09 6 views
0

Я пытаюсь использовать MultiDataTriggers для включения/выключения кнопки на основе значения двух текстовых полей.WPF MutiDataTrigger not set set

Документы заявляют, что условия в MultiDataTrigger логически совпадают вместе. В приведенном ниже примере, если txtFirst.Text является foo и txtSecond.Text является баром, я бы хотел включить эту кнопку. Однако кнопка всегда остается отключенной (IsEnabled = false).

Я уверен, что я пропускаю трюк здесь, но тщательный поиск Google не получил меня никуда ....

<StackPanel> 
     <Button IsEnabled="False" Content="OK"> 
      <Button.Style> 
       <Style> 
        <Style.Triggers> 
         <MultiDataTrigger> 
          <MultiDataTrigger.Conditions> 
           <Condition Binding="{Binding ElementName=txtFirst, Path=Text}" Value="foo"/> 
           <Condition Binding="{Binding ElementName=txtSecond, Path=Text}" Value="bar"/> 
          </MultiDataTrigger.Conditions> 
          <Setter Property="Button.IsEnabled" Value="True"/> 
         </MultiDataTrigger> 
        </Style.Triggers> 
       </Style> 
      </Button.Style> 
     </Button> 

     <TextBox x:Name="txtFirst"/> 
     <TextBox x:Name="txtSecond"/> 
    </StackPanel> 

ответ

3

Установка свойства непосредственно на самом объекте перекрывает любой стиль -трегулированные настройки. Измените объявление своей кнопки на:

<Button Content="OK"> 
    <Button.Style> 
     <Style> 
      <Setter Property="IsEnabled" Value="False"/> 
      <Style.Triggers> 

Теперь, когда свойство IsEnabled установлено в стиле, триггер может его изменить. Не спрашивай меня, почему. :)

+0

Вот и все !!!! Благодаря :-) – Sean