2017-02-08 35 views
2

我想使用DataTrigger來修改我的按鈕的不透明度。'成員「不透明度」不被識別或無法訪問。爲什麼我不能設置不透明度?

   <Button x:Name="StartTreatment" 
        Grid.Column="3" 
        Width="160" 
        Height="30" 
        Content="{x:Static resources:UserMessages.TrcsConsoleViewModel_LoadWfSequence_StartProcedure}" 
        IsEnabled="{Binding CanStartProcedure}" 
        Visibility="{Binding CanStartPatientTreatment, Converter={StaticResource BooleanToVisibility}}" > 
       <Button.Style> 
        <Style> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding CanStartProcedure}" Value="False"> 
           <Setter Property="Opacity" Value="0.5"></Setter> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </Button.Style> 
      </Button> 

我知道Button有一個可以設置的不透明度,並且DataTriggers必須用在Style中。然而,編譯器報告「成員」不透明度「未被識別或無法訪問。」我究竟做錯了什麼?

回答

6

您應該添加TargetType

... 
<Button.Style> 
    <Style TargetType="Button"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding CanStartProcedure}" Value="False"> 
       <Setter Property="Opacity" Value="0.5"></Setter> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</Button.Style> 
... 
+1

完美!很棒。謝謝。 – Will