2010-10-15 9 views

Respuesta

29

Se puede usar un estilo y disparadores, en el supuesto de que el comando se encarga de establecer el botón de activado/desactivado:

 <Button x:Name="btnMoveUp" 
       Command="{x:Static local:Window1.MoveItemUp}"> 
      <Button.Style> 
       <Style TargetType="{x:Type Button}" > 
        <Style.Triggers> 
         <Trigger Property="IsEnabled" Value="False"> 
          <Setter Property="Visibility" Value="Collapsed" /> 
         </Trigger> 
        </Style.Triggers> 
       </Style> 
      </Button.Style> 
     </Button> 

Tenga en cuenta que puede definir este estilo en un ámbito superior y compartirlo - I simplemente póngalo bien con el botón para un ejemplo más comprimido.

1

Usa el BooleanToVisibilityConverter y enlaza a un bool como described here.

+0

esta es una posibilidad, gracias. ¿Se puede hacer esto sin agregar una propiedad extra? tratando de reducir la cantidad de código – akonsu

12

El mismo comportamiento sin estilo y desencadenador, si la propiedad Visibilidad aún no está vinculada.

Command={Binding MyCommand} 
Visibility="{Binding RelativeSource={RelativeSource Self}, Path=IsEnabled, Converter={StaticResource BTVC}}" 

Dónde BTVC es un BooleanToVisibilityConverter (que es una necesidad).

Cuestiones relacionadas