2012-10-25 9 views
8
<StackPanel> 
     <TextBox Text="" x:Name="input"/> 
     <Button Content="DataTrigger Before"> 
      <Button.Style> 
       <Style TargetType="Button"> 
        <Style.Triggers> 
         <DataTrigger Binding="{Binding ElementName=input, Path=Text}" Value="1"> 
          <Setter Property="Content" Value="Changed"></Setter> 
         </DataTrigger> 
        </Style.Triggers> 
       </Style> 
      </Button.Style> 
     </Button> 
    </StackPanel> 

Style DataTrigger Setter nel pulsante Contenuto è validoStyle DataTrigger Setter nel pulsante Contenuto è valido

Grazie

+1

Qual è la domanda? – VKen

risposta

24

tuo DataTrigger non è cambiare il valore della proprietà Content perché lo si imposta all'interno del Pulsante dichiarazione. Quindi, una volta sistemato, non cambierà mai. Per consentire la modifica, è necessario impostare il valore all'interno dello stile .

Questa volontà funziona (ho provato):

<StackPanel> 
    <TextBox Name="input"/> 
    <Button> 
     <Button.Style> 
      <Style TargetType="Button"> 
       <Setter Property="Content" Value="DataTrigger Before"></Setter> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding ElementName=input, Path=Text}" Value="1"> 
         <Setter Property="Content" Value="Changed"></Setter> 
        </DataTrigger> 
       </Style.Triggers> 
      </Style> 
     </Button.Style> 
    </Button> 
</StackPanel> 
+0

Grazie. Alla fine le informazioni giuste. – ilmatte

Problemi correlati